.economy-tab-row{display:flex;gap:2px;padding:3px;background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md)}.economy-tab-btn{flex:1;padding:8px 0;border:none;background:transparent;color:var(--text-tertiary);font-size:var(--font-md);font-weight:600;border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;transition:all .15s ease;font-family:inherit}.economy-tab-btn:hover{color:var(--text-secondary)}.economy-tab-btn.active{background:var(--bg-secondary);color:var(--accent-gold);box-shadow:0 1px 3px rgba(0,0,0,.12)}.econ-project-meta{display:flex;align-items:center;justify-content:space-between;margin-top:6px;font-size:var(--font-base)}.econ-project-stake{color:var(--accent-gold);font-weight:700}.econ-bonus-row{display:flex;gap:12px;margin-top:8px}.econ-bonus-label{display:flex;align-items:center;gap:5px;font-size:var(--font-base);color:var(--text-secondary);cursor:pointer}.econ-bonus-label input[type=checkbox]{accent-color:var(--accent-gold);width:14px;height:14px}.econ-diff-select{display:flex;gap:8px}.econ-diff-btn{flex:1;padding:10px 8px;border:1.5px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;text-align:center;font-family:inherit;font-size:var(--font-md);font-weight:600;transition:all .15s ease}.econ-diff-btn:hover{border-color:var(--text-tertiary)}.econ-diff-btn.active{background:var(--bg-elevated)}.econ-diff-stake{font-size:var(--font-sm);font-weight:700;margin-top:4px;opacity:.8}.econ-diff-info{text-align:center;font-size:var(--font-base);color:var(--text-secondary);padding:6px 0}.pdetail{display:flex;flex-direction:column;gap:16px}.pdetail-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pdetail-meta:empty{display:none}.pdetail-owner{font-size:var(--font-base);color:var(--text-tertiary)}.pdetail-diff{background:var(--accent-gold-subtle);padding:2px 8px;border-radius:var(--radius-sm)}.pdetail-diff,.pdetail-lux{font-size:var(--font-sm);font-weight:700;color:var(--accent-gold)}.pdetail-desc{font-size:var(--font-md);color:var(--text-secondary);line-height:1.5}.pdetail-members-preview{gap:10px;padding:6px 0}.pdetail-avatar-chip,.pdetail-members-avatars,.pdetail-members-preview{display:flex;align-items:center}.pdetail-avatar-chip{width:28px;height:28px;border-radius:50%;justify-content:center;font-size:var(--font-sm);font-weight:700;color:var(--text-primary);background:var(--bg-elevated);border:2px solid var(--bg-secondary);margin-left:-6px;position:relative}.pdetail-avatar-chip:first-child{margin-left:0}.pdetail-avatar-chip.leader{background:var(--accent-gold);color:var(--bg-primary);border-color:var(--accent-gold-hover)}.pdetail-avatar-chip.more{font-size:var(--font-2xs);background:var(--bg-tertiary);color:var(--text-muted)}.pdetail-members-label{font-size:var(--font-sm);color:var(--text-muted);font-weight:600}.pdetail-goal{display:flex;align-items:baseline;gap:8px;padding:10px 12px;background:var(--accent-gold-subtle);border-radius:var(--radius-md);border-left:3px solid var(--accent-gold)}.pdetail-goal-label{font-size:var(--font-sm);font-weight:800;color:var(--accent-gold);flex-shrink:0}.pdetail-goal-text{font-size:var(--font-md);color:var(--text-primary);line-height:1.4}.pdetail-timeline{position:relative;display:flex;align-items:flex-start;justify-content:space-between;padding:0 0 12px}.pdetail-timeline-track{position:absolute;top:0;left:0;right:0;height:14px;display:flex;align-items:center;z-index:0;pointer-events:none}.pdetail-timeline-track:after{content:"";display:block;position:absolute;left:10%;right:10%;top:50%;transform:translateY(-50%);height:2px;background:var(--border-color)}.pdetail-phase{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;z-index:1;flex:1}.pdetail-phase-dot{width:10px;height:10px;border-radius:50%;background:var(--bg-elevated);border:2px solid var(--border-color);transition:all .2s ease;margin-top:2px;box-sizing:border-box}.pdetail-phase.current .pdetail-phase-dot{width:14px;height:14px;margin-top:0;border:none;box-shadow:0 0 0 4px rgba(212,168,67,.2)}.pdetail-phase.done .pdetail-phase-dot{border:none}.pdetail-phase-label{font-size:var(--font-xs);color:var(--text-muted);font-weight:600}.pdetail-phase.current .pdetail-phase-label{color:var(--accent-gold)}.pdetail-phase.done .pdetail-phase-label{color:var(--text-tertiary)}.pdetail-info-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.pdetail-deadline{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-base);color:var(--text-secondary);background:var(--bg-tertiary);padding:6px 10px;border-radius:var(--radius-sm)}.pdetail-deadline svg{opacity:.5}.pdetail-deadline.soon{color:var(--accent-gold)}.pdetail-deadline.overdue{color:var(--danger-text)}.pdetail-dday{font-weight:800;font-size:var(--font-sm)}.pdetail-bonuses{display:flex;gap:10px}.pdetail-bonus-check{display:flex;align-items:center;gap:4px;font-size:var(--font-sm);color:var(--text-tertiary);cursor:pointer}.pdetail-bonus-check input[type=checkbox]{accent-color:var(--accent-gold);width:14px;height:14px}.pdetail-cta{width:100%;padding:10px;font-size:var(--font-md);font-weight:700;color:var(--bg-primary);background:var(--accent-gold);border-radius:var(--radius-md);transition:all .15s ease}.pdetail-cta:hover{background:var(--accent-gold-hover)}.pdetail-cta:disabled{opacity:.4;cursor:not-allowed}.pdetail-cta--approve,.pdetail-cta--approve:hover{background:var(--status-done)}.pdetail-cta--reject{background:var(--danger-text)}.pdetail-cta--fail,.pdetail-cta--reject:hover{background:var(--accent-red)}.pdetail-cta--fail:hover{background:darkred}.pdetail-cta--withdraw{background:transparent;color:var(--text-secondary);border:1px solid var(--border-primary)}.pdetail-cta--withdraw:hover{background:var(--bg-tertiary)}.pdetail-section{background:var(--bg-secondary);border-radius:var(--radius-md);padding:12px;border:1px solid var(--border-subtle)}.pdetail-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.pdetail-section-toggle{cursor:pointer;width:100%;margin-bottom:0;padding:0}.pdetail-section-title{font-size:var(--font-md);font-weight:700;color:var(--text-primary)}.pdetail-section-count{display:flex;align-items:center;font-size:var(--font-sm);color:var(--text-muted);font-weight:600}.pdetail-empty{padding:8px 0}.pdetail-empty,.pdetail-notice{font-size:var(--font-base);color:var(--text-muted);text-align:center}.pdetail-notice{padding:6px 0}.pdetail-reviews{display:flex;flex-direction:column;gap:6px}.prev-item{padding:8px 10px;background:var(--bg-tertiary);border-radius:var(--radius-sm)}.prev-head{display:flex;align-items:center;gap:8px}.prev-user{font-size:var(--font-base);font-weight:700;color:var(--text-primary)}.prev-badge{font-size:var(--font-xs);font-weight:700;padding:1px 8px;border-radius:var(--radius-sm)}.prev-badge--opinion{color:var(--accent-gold);background:var(--accent-gold-subtle)}.prev-badge--approve{color:var(--status-done);background:rgba(74,158,74,.15)}.prev-badge--reject{color:var(--danger-text);background:var(--danger-bg)}.prev-badge--fail{color:#b33;background:rgba(187,51,51,.15)}.prev-comment{font-size:var(--font-base);color:var(--text-secondary);margin-top:4px;line-height:1.4}.pdetail-opinion{display:flex;flex-direction:column;gap:8px;margin-top:10px}.pdetail-textarea{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:10px;font-size:var(--font-md);color:var(--text-primary);resize:vertical;min-height:60px}.pdetail-textarea:focus{outline:none;border-color:var(--accent-gold)}.pdetail-input{flex:1;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:8px 10px;font-size:var(--font-md);color:var(--text-primary);min-width:0}.pdetail-input:focus{outline:none;border-color:var(--accent-gold)}.pdetail-admin{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-subtle)}.pdetail-admin-label{font-size:var(--font-base);font-weight:700;color:var(--accent-gold)}.pdetail-admin-btns{display:flex;gap:8px}.pdetail-admin-btns .pdetail-cta{flex:1}.pdetail-admin-tasks{display:flex;flex-direction:column;gap:3px;padding:10px;background:var(--bg-tertiary);border-radius:var(--radius-sm)}.pdetail-admin-task-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-secondary);border-radius:var(--radius-xs);cursor:pointer;transition:background .1s;min-height:40px}.pdetail-admin-task-row:hover{background:var(--bg-elevated)}.pdetail-admin-task-row input{display:none}.pdetail-admin-task-check{width:18px;height:18px;border:2px solid var(--border-color);border-radius:4px;flex-shrink:0;position:relative;transition:all .15s}.pdetail-admin-task-check.checked{background:var(--status-done);border-color:var(--status-done)}.pdetail-admin-task-check.checked:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.pdetail-admin-task-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.pdetail-admin-task-name{font-size:var(--font-base);font-weight:600;color:var(--text-primary)}.pdetail-admin-task-cost{font-size:var(--font-xs);font-weight:700;color:var(--accent-gold);font-variant-numeric:tabular-nums}.pdetail-admin-task-status{font-size:var(--font-xs);font-weight:700;color:var(--text-muted);flex-shrink:0}.pdetail-admin-task-status.done{color:var(--status-done)}.pdetail-admin-summary{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.pdetail-admin-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-sm);color:var(--text-secondary)}.pdetail-members{display:flex;flex-direction:column;gap:4px}.pmember{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--radius-sm);transition:background .1s}.pmember:hover{background:var(--bg-tertiary)}.pmember-avatar{width:28px;height:28px;border-radius:50%;background:var(--bg-elevated);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:var(--font-base);font-weight:700;flex-shrink:0}.pmember-name{font-size:var(--font-md);color:var(--text-primary);flex:1}.pmember-role{font-size:var(--font-xs);font-weight:700;color:var(--accent-gold);background:var(--accent-gold-subtle);padding:1px 6px;border-radius:6px}.pmember-actions{display:flex;gap:4px;margin-left:auto}.pmember-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;color:var(--text-muted);transition:all .15s}.pmember-action-btn:hover{background:var(--accent-gold-subtle);color:var(--accent-gold)}.pmember-remove{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;color:var(--text-muted);transition:all .15s}.pmember-remove:hover{background:var(--danger-bg);color:var(--danger-text)}.pdetail-add-row{display:flex;gap:6px;margin-top:8px}.pdetail-add-btn{padding:8px 14px;font-size:var(--font-base);font-weight:700;color:var(--accent-gold);background:var(--accent-gold-subtle);border-radius:var(--radius-sm);flex-shrink:0;transition:background .15s}.pdetail-add-btn:hover{background:rgba(212,168,67,.25)}.pdetail-join-requests{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-subtle)}.pdetail-join-title{font-size:var(--font-base);font-weight:700;color:var(--status-wish);margin-bottom:8px}.pjoin-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0}.pjoin-item+.pjoin-item{border-top:1px solid var(--border-subtle)}.pjoin-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.pjoin-detail{display:flex;flex-direction:column;gap:1px;min-width:0}.pjoin-name{font-size:var(--font-md);font-weight:700;color:var(--text-primary)}.pjoin-msg{font-size:var(--font-sm);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pjoin-actions{display:flex;gap:4px;flex-shrink:0}.pjoin-btn{padding:4px 10px;font-size:var(--font-sm);font-weight:700;border-radius:6px;transition:all .15s}.pjoin-btn--accept{color:var(--status-done);background:rgba(74,158,74,.12)}.pjoin-btn--accept:hover{background:rgba(74,158,74,.25)}.pjoin-btn--reject{color:var(--text-muted);background:var(--bg-elevated)}.pjoin-btn--reject:hover{color:var(--danger-text);background:var(--danger-bg)}.pdetail-notice-box{font-size:var(--font-base);color:var(--status-wish);background:rgba(91,155,213,.1);padding:10px 14px;border-radius:var(--radius-sm);text-align:center;font-weight:600}.ptask-progress{display:flex;align-items:center;gap:8px;margin-bottom:10px;height:4px;background:var(--bg-elevated);border-radius:2px;overflow:hidden;position:relative}.ptask-progress-bar{height:100%;background:var(--accent-gold);border-radius:2px;transition:width .3s ease}.ptask-progress-label{position:absolute;right:0;top:-16px;font-size:var(--font-xs);font-weight:700;color:var(--text-muted)}.ptask-list{display:flex;flex-direction:column;gap:1px}.ptask-item{border-radius:var(--radius-sm);transition:all .15s;border-left:3px solid transparent}.ptask-item--easy{border-left-color:var(--status-done)}.ptask-item--normal{border-left-color:var(--accent-gold)}.ptask-item--hard{border-left-color:var(--accent-red)}.ptask-item--open{background:var(--bg-tertiary)}.ptask-item--done{opacity:.55}.ptask-row{display:flex;align-items:flex-start;gap:10px;padding:10px;min-height:48px;cursor:pointer;border-radius:var(--radius-sm);transition:background .1s}.ptask-row:hover{background:var(--bg-tertiary)}.ptask-item--open .ptask-row:hover{background:transparent}.ptask-check{position:relative;display:flex;align-items:center;cursor:pointer;margin-top:1px;flex-shrink:0}.ptask-check input{position:absolute;opacity:0;width:0;height:0}.ptask-checkmark{width:18px;height:18px;border:2px solid var(--border-color);border-radius:5px;transition:all .15s;position:relative}.ptask-check input:checked+.ptask-checkmark{background:var(--accent-gold);border-color:var(--accent-gold)}.ptask-check input:checked+.ptask-checkmark:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid var(--bg-primary);border-width:0 2px 2px 0;transform:rotate(45deg)}.ptask-status-dot{width:8px;height:8px;border-radius:50%;background:var(--border-color);flex-shrink:0;margin-top:5px}.ptask-status-dot.done{background:var(--status-done)}.ptask-approved-badge{font-size:var(--font-2xs);font-weight:800;padding:2px 6px;border-radius:var(--radius-xs);flex-shrink:0;letter-spacing:.2px;margin-top:1px}.ptask-approved-badge.approved{color:var(--status-done);background:var(--status-done-subtle)}.ptask-approved-badge.rejected{color:var(--text-muted);background:var(--block-bg)}.ptask-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.ptask-title-row{display:flex;align-items:center;gap:6px}.ptask-title{font-size:var(--font-md);font-weight:600;color:var(--text-primary);line-height:1.4}.ptask-item--done .ptask-title{text-decoration:line-through;color:var(--text-muted)}.ptask-cost{font-size:var(--font-xs);font-weight:700;color:var(--accent-gold);font-variant-numeric:tabular-nums}.ptask-diff{font-size:var(--font-2xs);font-weight:800;padding:1px 5px;border-radius:var(--radius-xs);flex-shrink:0;letter-spacing:.3px}.ptask-diff--easy{color:var(--status-done);background:var(--status-done-subtle)}.ptask-diff--normal{color:var(--accent-gold);background:var(--accent-gold-subtle)}.ptask-diff--hard{color:var(--accent-red);background:rgba(224,82,82,.12)}.pdetail-input--cost{max-width:80px}.ptask-desc{font-size:11.5px;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:2px}.ptask-item--done .ptask-desc{color:var(--text-muted)}.ptask-desc-input{width:100%;font-size:var(--font-base);color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:6px;padding:8px 10px;resize:vertical;min-height:40px;line-height:1.5;font-family:inherit;transition:border-color .15s}.ptask-desc-input:focus{outline:none;border-color:var(--accent-gold)}.ptask-desc-input::placeholder{color:var(--text-muted)}.ptask-tags{display:flex;align-items:center;gap:4px;margin-top:4px;flex-wrap:wrap}.ptask-tag{display:inline-flex;align-items:center;gap:2px;font-size:var(--font-xs);font-weight:600;color:var(--text-muted);background:var(--bg-elevated);padding:1px 6px;border-radius:var(--radius-xs)}.ptask-tag--user{color:var(--accent-gold);background:var(--accent-gold-subtle)}.ptask-tag--overdue{color:var(--danger-text);background:var(--danger-bg)}.ptask-remove{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;color:var(--text-muted);opacity:0;transition:all .15s;flex-shrink:0;margin-top:1px}.ptask-row:hover .ptask-remove{opacity:1}.ptask-remove:hover{background:var(--danger-bg);color:var(--danger-text)}.ptask-detail{padding:4px 10px 12px 38px;display:flex;flex-direction:column;gap:10px;animation:fadeIn .15s ease;border-top:1px solid var(--border-subtle);margin-top:2px}.ptask-detail-fields{display:flex;gap:6px}@media (max-width:400px){.ptask-detail-fields{flex-direction:column}}.ptask-field{display:flex;align-items:center;gap:8px}.ptask-field-icon{color:var(--text-muted);flex-shrink:0;display:flex}.ptask-field-input{flex:1;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:6px;padding:6px 10px;font-size:var(--font-base);color:var(--text-primary);transition:border-color .15s;appearance:auto}.ptask-field-input:focus{outline:none;border-color:var(--accent-gold)}.ptask-photos{display:flex;gap:6px;flex-wrap:wrap}.ptask-photo{width:52px;height:52px;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-elevated)}.ptask-photo img{width:100%;height:100%;object-fit:cover}.ptask-photo-add{width:52px;height:52px;border-radius:var(--radius-sm);border:1.5px dashed var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .15s;cursor:pointer}.ptask-photo-add:hover{border-color:var(--accent-gold);color:var(--accent-gold)}.pdetail-logs{display:flex;flex-direction:column;margin-top:10px}.plog{display:flex;gap:10px;padding:6px 0}.plog+.plog{border-top:1px solid var(--border-subtle)}.plog-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:6px}.plog-body{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;flex:1;min-width:0}.plog-action{font-size:var(--font-base);font-weight:700}.plog-user{font-size:var(--font-sm)}.plog-date,.plog-user{color:var(--text-muted)}.plog-date{font-size:var(--font-xs);margin-left:auto}.plog-detail{width:100%;font-size:var(--font-sm);color:var(--text-tertiary);word-break:break-word}.pfunding-bar-wrap{height:6px;background:var(--bg-elevated);border-radius:3px;overflow:hidden;margin-bottom:6px}.pfunding-bar{height:100%;background:var(--accent-gold);border-radius:3px;transition:width .3s ease}.pfunding-meta{display:flex;justify-content:space-between;font-size:var(--font-sm);color:var(--text-muted)}.pfunding-buy{display:flex;gap:8px;margin-top:8px}.pfunding-buy .pdetail-input{flex:1}.padd-form{gap:14px;padding:4px 0}.padd-field,.padd-form{display:flex;flex-direction:column}.padd-field{gap:6px}.padd-label{font-size:var(--font-base);font-weight:600;color:var(--text-secondary)}.padd-input{width:100%;box-sizing:border-box;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-md);color:var(--text-primary);font-family:inherit;transition:border-color .15s}.padd-input:focus{outline:none;border-color:var(--accent-gold)}.padd-input::placeholder{color:var(--text-muted)}.padd-textarea{resize:vertical;min-height:60px;line-height:1.5}.padd-select{appearance:auto;cursor:pointer}.padd-row{display:flex;gap:10px}.padd-diff{display:flex;gap:8px}.padd-diff-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:var(--bg-tertiary);border:1.5px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s}.padd-diff-btn:hover{border-color:var(--text-tertiary)}.padd-diff-btn.active{background:var(--bg-elevated)}.padd-diff-name{font-size:var(--font-md);font-weight:600}.padd-diff-lux{font-size:var(--font-sm);font-weight:700;opacity:.7}.padd-summary{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:12px 14px;display:flex;flex-direction:column;gap:6px}.padd-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-base);color:var(--text-secondary)}.padd-summary-row--sub{font-size:var(--font-sm);color:var(--text-muted)}.padd-summary-val{font-weight:700}.padd-summary-val--gold{color:var(--accent-gold)}.padd-task-summary{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--accent-gold-subtle);border-radius:var(--radius-sm);font-size:var(--font-sm);font-weight:700}.padd-task-summary-label{color:var(--text-secondary)}.padd-task-summary-val{color:var(--accent-gold);font-variant-numeric:tabular-nums}.padd-task-summary+.padd-tasks{margin-top:8px}.padd-tasks+.padd-task-add{margin-top:10px}.padd-tasks{display:flex;flex-direction:column;gap:3px;background:var(--bg-secondary);border-radius:var(--radius-sm);overflow:hidden}.padd-task-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-tertiary);border-left:3px solid var(--border-subtle);min-height:48px;transition:border-color .12s,background .1s}.padd-task-row:hover{background:var(--bg-elevated)}.padd-task-row--easy{border-left-color:var(--status-done)}.padd-task-row--normal{border-left-color:var(--accent-gold)}.padd-task-row--hard{border-left-color:var(--accent-red)}.padd-task-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.padd-task-title{font-size:var(--font-md);font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.padd-task-meta{display:flex;align-items:center;gap:6px;font-size:var(--font-xs);color:var(--text-muted)}.padd-task-cost{font-weight:700;color:var(--accent-gold);font-variant-numeric:tabular-nums}.padd-task-del{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:var(--radius-xs);color:var(--text-muted);font-size:18px;cursor:pointer;flex-shrink:0;transition:all .12s}.padd-task-del:hover{color:var(--accent-red);border-color:rgba(224,82,82,.2);background:rgba(224,82,82,.06)}.padd-task-add{display:flex;flex-direction:column;gap:10px;margin-top:10px;padding:14px;background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:var(--radius-md)}.padd-task-add-label{font-size:var(--font-sm);font-weight:800;color:var(--text-secondary);letter-spacing:.3px}.padd-task-add-row{display:flex;gap:8px;align-items:stretch}.padd-task-add-row .padd-input,.padd-task-add-row .pdetail-input{min-height:40px;font-size:var(--font-base)}.pdetail-input--cost{width:90px;text-align:right;flex-shrink:0}.padd-task-diff-group{display:flex;gap:0;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden;flex:1}.padd-task-diff-btn{padding:8px 0;min-height:40px;font-size:var(--font-sm);font-weight:700;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .12s;flex:1;text-align:center}.padd-task-diff-btn:not(:last-child){border-right:1px solid var(--border-color)}.padd-task-diff-btn:hover{background:var(--bg-elevated)}.padd-task-diff-btn.active-easy{background:var(--status-done);color:#fff}.padd-task-diff-btn.active-normal{background:var(--accent-gold);color:#fff}.padd-task-diff-btn.active-hard{background:var(--accent-red);color:#fff}.padd-task-add-row .pdetail-add-btn{min-height:40px;padding:8px 16px;font-size:var(--font-base);flex-shrink:0}.padd-task-cost-section{display:flex;flex-direction:column;gap:6px}.padd-task-cost-row{display:flex;align-items:center;gap:0;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.padd-task-cost-btn{min-width:56px;min-height:48px;padding:4px 8px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);font-size:var(--font-sm);font-weight:800;cursor:pointer;transition:color .12s,background .12s;flex-shrink:0}.padd-task-cost-btn:first-child{border-right:1px solid var(--border-color)}.padd-task-cost-btn:last-child{border-left:1px solid var(--border-color)}.padd-task-cost-btn:hover{color:var(--accent-gold);background:var(--accent-gold-subtle)}.padd-task-cost-btn:disabled{opacity:.25;cursor:not-allowed}.padd-task-cost-display{flex:1;text-align:center;font-size:var(--font-lg);font-weight:800;color:var(--accent-gold);font-variant-numeric:tabular-nums;padding:8px 4px}.padd-task-cost-presets{display:flex;gap:4px}.padd-task-cost-preset{flex:1;padding:6px 0;font-size:var(--font-xs);font-weight:700;text-align:center;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .12s}.padd-task-cost-preset.active,.padd-task-cost-preset:hover{border-color:var(--accent-gold);color:var(--accent-gold)}.padd-task-cost-preset.active{background:var(--accent-gold-subtle)}.padd-task-diff-section{display:flex;flex-direction:column;gap:6px}.padd-task-diff-desc{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);border-left:3px solid var(--border-color);transition:all .2s}.padd-task-diff-desc-main,.padd-task-diff-desc-sim{display:flex;flex-direction:column;gap:2px}.padd-task-diff-desc-sim{align-items:flex-end;flex-shrink:0;font-size:var(--font-sm);font-weight:800;font-variant-numeric:tabular-nums}.padd-task-diff-desc--easy{background:rgba(68,170,153,.06);border-left-color:var(--status-done)}.padd-task-diff-desc--normal{background:rgba(212,168,67,.06);border-left-color:var(--accent-gold)}.padd-task-diff-desc--hard{background:rgba(224,82,82,.06);border-left-color:var(--accent-red)}.padd-task-diff-desc-rates{display:flex;align-items:center;gap:4px;flex-shrink:0;font-weight:800;font-size:var(--font-sm);font-variant-numeric:tabular-nums}.padd-task-diff-desc-up{color:var(--status-done)}.padd-task-diff-desc-down{color:var(--danger-text)}.padd-task-diff-desc-sep{color:var(--text-muted);font-weight:400}.padd-task-diff-desc-text{font-size:var(--font-xs);color:var(--text-muted);line-height:1.4}.pdetail-invite-wrap{position:relative}.pdetail-suggest-list{position:absolute;top:100%;left:0;right:0;z-index:20;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 4px 16px rgba(0,0,0,.25);margin-top:4px;max-height:200px;overflow-y:auto;display:flex;flex-direction:column}.pdetail-suggest-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border:none;background:transparent;color:var(--text-primary);font-size:var(--font-base);font-weight:600;cursor:pointer;text-align:left;transition:background .1s}.pdetail-suggest-item:not(:last-child){border-bottom:1px solid var(--border-subtle)}.pdetail-suggest-item:hover{background:var(--bg-tertiary)}.pdetail-suggest-name{flex:1}.pdetail-suggest-badge{font-size:var(--font-2xs);font-weight:800;padding:2px 6px;border-radius:var(--radius-xs);flex-shrink:0;letter-spacing:.3px}.pdetail-suggest-badge--companion{color:var(--accent-gold);background:var(--accent-gold-subtle)}.pdetail-suggest-badge--team{color:#2dd4bf;background:rgba(45,212,191,.12)}.padd-task-empty{text-align:center;padding:20px 12px;font-size:var(--font-sm);color:var(--text-muted);background:var(--bg-secondary);border:1px dashed var(--border-subtle);border-radius:var(--radius-sm)}.padd-invest-range{display:flex;align-items:center;gap:10px}.padd-invest-input{flex:1}.padd-invest-bound{font-size:var(--font-sm);color:var(--text-muted);white-space:nowrap;flex-shrink:0}.padd-spec{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--bg-tertiary);border-radius:var(--radius-md);padding:10px 14px}.padd-spec-item{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-base)}.padd-spec-label{color:var(--text-muted)}.padd-spec-val{font-weight:700;color:var(--text-secondary)}.padd-hint{font-size:var(--font-sm);color:var(--text-muted)}.padd-hint--err{color:var(--danger-text)}.padd-submit{width:100%;padding:12px;font-size:var(--font-lg);font-weight:700;color:var(--bg-primary);background:var(--accent-gold);border:none;border-radius:var(--radius-md);cursor:pointer;font-family:inherit;transition:background .15s}.padd-submit:hover{background:var(--accent-gold-hover)}.padd-submit:disabled{opacity:.4;cursor:not-allowed}.inv-portfolio-summary{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);padding:12px 14px;display:flex;flex-direction:column;gap:8px;margin-bottom:var(--spacing-sm)}.inv-portfolio-row{display:flex;justify-content:space-between;align-items:center}.inv-portfolio-label{font-size:var(--font-sm);color:var(--text-muted);font-weight:600}.inv-portfolio-val{font-size:var(--font-base);font-weight:800;font-variant-numeric:tabular-nums}.inv-portfolio-val.up{color:var(--status-done)}.inv-portfolio-val.down{color:var(--danger-text)}.inv-portfolio-sub{font-size:var(--font-xs);font-weight:600;margin-left:4px;opacity:.7}.inv-holding-group{margin-top:var(--spacing-ms)}.inv-holding-group--settled{opacity:.55}.inv-holding-label{font-size:var(--font-xs);font-weight:800;color:var(--text-muted);letter-spacing:.3px;padding:4px 2px 6px;display:flex;align-items:center;gap:6px}.inv-holding-label span{font-weight:700;color:var(--text-secondary);font-size:var(--font-2xs);background:var(--bg-tertiary);border-radius:8px;padding:1px 6px}.inv-holding-row{display:flex;align-items:center;gap:10px;padding:12px;background:var(--bg-secondary);border-radius:var(--radius-sm);margin-bottom:2px;cursor:pointer;min-height:48px;transition:background .12s}.inv-holding-row:active{background:var(--bg-tertiary)}.inv-holding-row--settled{cursor:default}.inv-holding-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.inv-holding-name{font-size:var(--font-base);font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inv-holding-qty{font-size:var(--font-sm);font-weight:600;color:var(--accent-gold);margin-left:4px}.inv-holding-meta{font-size:var(--font-xs);color:var(--text-muted)}.inv-holding-right{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:1px}.inv-holding-price{font-size:var(--font-base);font-weight:800;color:var(--text-primary);font-variant-numeric:tabular-nums}.inv-holding-change{font-size:var(--font-xs);font-weight:700;font-variant-numeric:tabular-nums}.inv-holding-change.up{color:var(--status-done)}.inv-holding-change.down{color:var(--danger-text)}.inv-holding-sell{flex-shrink:0;font-size:var(--font-sm);font-weight:700;padding:8px 12px;min-height:36px;border-radius:6px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .12s,color .12s}.inv-holding-sell:active{background:var(--bg-tertiary);color:var(--text-primary)}.inv-returns{display:flex;align-items:center;gap:0;background:var(--bg-secondary);border-radius:var(--radius-md);padding:12px 16px;border:1px solid var(--border-color)}.inv-returns-item{flex:1;display:flex;flex-direction:column;gap:2px}.inv-returns-divider{width:1px;height:32px;background:var(--border-color);margin:0 12px;flex-shrink:0}.inv-returns-label{font-size:var(--font-xs);color:var(--text-muted);font-weight:600}.inv-returns-val{font-size:var(--font-lg);font-weight:800;font-variant-numeric:tabular-nums}.inv-returns-val.up{color:var(--status-done)}.inv-returns-val.down{color:var(--danger-text)}.inv-returns-pct{opacity:.8}.inv-bond-qty,.inv-returns-pct{font-size:var(--font-sm);font-weight:600;margin-left:4px}.inv-bond-qty{color:var(--accent-gold)}.inv-bond-right{align-items:flex-end;flex-shrink:0}.inv-bond-right,.inv-list{display:flex;flex-direction:column;gap:1px}.inv-list{background:var(--bg-secondary);border-radius:var(--radius-md);overflow:hidden}.inv-compact-input{width:72px;padding:8px;font-size:var(--font-md);border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-variant-numeric:tabular-nums;min-height:36px;box-sizing:border-box}.inv-compact-input:focus{outline:none;border-color:var(--accent-gold)}.inv-compact-btn{padding:8px 14px;min-height:36px;font-size:var(--font-base);font-weight:700;border:none;border-radius:6px;cursor:pointer;white-space:nowrap;transition:opacity .15s}.inv-compact-btn:hover{opacity:.8}.inv-compact-btn:disabled{opacity:.4;cursor:not-allowed}.inv-compact-btn--gold{background:var(--accent-gold);color:var(--bg-primary)}.inv-compact-btn--buy{background:var(--status-done);color:#fff}.inv-compact-btn--subtle{background:var(--bg-elevated);color:var(--text-secondary)}.inv-issue-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-tertiary)}.inv-issue-info{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.inv-issue-title{font-size:var(--font-md);font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inv-issue-bar-wrap{height:4px;background:var(--bg-elevated);border-radius:2px;overflow:hidden}.inv-issue-bar{height:100%;background:var(--accent-gold);border-radius:2px;transition:width .3s}.inv-issue-meta{font-size:var(--font-xs);color:var(--text-muted)}.inv-issue-buy{display:flex;gap:4px;align-items:center;flex-shrink:0}.inv-issue-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-left:3px solid var(--accent-gold);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s}.inv-issue-card:hover{background:var(--bg-tertiary)}.inv-issue-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.inv-issue-card-title{font-size:var(--font-md);font-weight:700;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-issue-card-phase{font-size:var(--font-2xs);font-weight:700;color:var(--accent-gold);padding:2px 6px;border:1px solid var(--accent-gold);border-radius:var(--radius-xs);flex-shrink:0}.inv-issue-card-bar{height:4px;background:var(--bg-elevated);border-radius:2px;overflow:hidden}.inv-issue-card-fill{height:100%;background:var(--accent-gold);border-radius:2px;transition:width .3s}.inv-issue-card-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:var(--font-xs);color:var(--text-muted)}.inv-issue-sheet{display:flex;flex-direction:column;gap:14px}.inv-issue-sheet-info{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--bg-tertiary);border-radius:var(--radius-sm)}.inv-issue-sheet-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-sm);color:var(--text-secondary)}.inv-issue-sheet-buy{display:flex;flex-direction:column;gap:8px}.inv-issue-sheet-summary{flex-direction:column;gap:6px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.inv-issue-sheet-summary,.inv-ticker-row{display:flex;padding:12px;background:var(--bg-tertiary)}.inv-ticker-row{align-items:center;gap:10px;min-height:52px;cursor:pointer;transition:background .12s}.inv-ticker-row.up{background:rgba(68,170,153,.04)}.inv-ticker-row.down{background:rgba(240,128,128,.04)}.inv-ticker-row:active{background:var(--bg-elevated)}.inv-ticker-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.inv-ticker-top{display:flex;align-items:center;gap:6px}.inv-ticker-title{font-size:var(--font-md);font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inv-ticker-phase{font-size:var(--font-xs);font-weight:700;flex-shrink:0}.inv-ticker-sub{display:flex;align-items:center;gap:6px;font-size:var(--font-xs);color:var(--text-muted)}.inv-ticker-ask{color:var(--danger-text);font-weight:600}.inv-ticker-bid{color:var(--status-done);font-weight:600}.inv-ticker-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.inv-ticker-chart-wrap{width:64px}.inv-chart{display:block;width:100%;height:32px}.inv-ticker-price{font-size:var(--font-lg);font-weight:800;font-variant-numeric:tabular-nums;min-width:40px;text-align:right}.inv-ticker-price.up{color:var(--status-done)}.inv-ticker-price.down{color:var(--danger-text)}.inv-ticker-price-col{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.inv-ticker-change{font-size:var(--font-xs);font-weight:600;font-variant-numeric:tabular-nums}.inv-ticker-change.up{color:var(--status-done)}.inv-ticker-change.down{color:var(--danger-text)}.inv-detail{gap:14px}.inv-detail,.inv-header{display:flex;flex-direction:column}.inv-header{gap:10px;padding:12px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.inv-header-price-row{display:flex;align-items:flex-start;justify-content:space-between}.inv-header-price-left{display:flex;flex-direction:column}.inv-header-cur{font-size:22px;font-weight:900;font-variant-numeric:tabular-nums}.inv-header-cur.up{color:var(--status-done)}.inv-header-cur.down{color:var(--danger-text)}.inv-header-sub{font-size:var(--font-sm);color:var(--text-muted);margin-top:1px}.inv-header-phase{font-size:var(--font-xs);font-weight:800;color:#fff;padding:3px 8px;border-radius:var(--radius-xs);line-height:1;flex-shrink:0;margin-top:2px}.inv-header-stats{display:flex;flex-wrap:wrap;gap:4px}.inv-header-stat{font-size:var(--font-xs);font-weight:600;padding:3px 8px;border-radius:var(--radius-xs);background:var(--bg-primary);color:var(--text-secondary)}.inv-header-stat.accent{color:var(--accent-gold);background:var(--accent-gold-subtle)}.inv-header-stat.danger{color:var(--danger-text)}.inv-header-stat.warn{color:var(--status-wish)}.inv-header-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid var(--border-color)}.inv-header-members{display:flex;align-items:center;gap:0}.inv-header-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-xs);font-weight:700;color:var(--text-primary);background:var(--bg-elevated);border:2px solid var(--bg-tertiary);margin-left:-5px;position:relative}.inv-header-avatar:first-child{margin-left:0}.inv-header-avatar.leader{background:var(--accent-gold);color:var(--bg-primary);border-color:var(--accent-gold-hover)}.inv-header-avatar.more{font-size:var(--font-2xs);background:var(--bg-primary);color:var(--text-muted)}.inv-header-members-label{font-size:var(--font-sm);color:var(--text-muted);margin-left:8px;white-space:nowrap}.inv-header-link{font-size:var(--font-sm);font-weight:700;color:var(--accent-gold);background:none;border:1px solid var(--accent-gold);border-radius:6px;padding:4px 10px;cursor:pointer;transition:background .15s;flex-shrink:0}.inv-header-link:hover{background:var(--accent-gold-subtle)}.inv-header-progress{display:flex;align-items:center;gap:8px}.inv-header-progress-bar{flex:1;height:3px;background:var(--bg-primary);border-radius:2px;overflow:hidden}.inv-header-progress-bar>div{height:100%;background:var(--accent-gold);border-radius:2px;transition:width .3s}.inv-header-progress-label{font-size:var(--font-xs);color:var(--text-muted);font-weight:600;white-space:nowrap}.inv-detail-price-head{text-align:center}.inv-detail-cur{font-size:var(--font-5xl);font-weight:900;font-variant-numeric:tabular-nums}.inv-detail-cur.up{color:var(--status-done)}.inv-detail-cur.down{color:var(--danger-text)}.inv-detail-base{display:block;font-size:var(--font-sm);color:var(--text-muted);margin-top:2px}.inv-detail-chart-wrap{margin:0 -8px}.inv-chart-tf{display:flex;gap:2px;padding:0 4px 4px;overflow-x:auto}.inv-chart-tf-btn{flex-shrink:0;padding:8px 12px;min-height:36px;font-size:var(--font-sm);font-weight:600;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s}.inv-chart-tf-btn.active{background:var(--bg-tertiary);color:var(--accent-gold)}.inv-chart-tf-btn:hover:not(.active){color:var(--text-primary)}.inv-detail-chart{display:block;width:100%;height:140px}.inv-detail-section{display:flex;flex-direction:column;gap:8px}.inv-detail-section-title{font-size:var(--font-md);font-weight:800;color:var(--text-secondary);padding-bottom:2px}.inv-detail-book{gap:1px;background:var(--bg-secondary);border-radius:var(--radius-sm);overflow:hidden}.inv-detail-book,.inv-detail-book-side{display:flex;flex-direction:column}.inv-detail-book-label{font-size:var(--font-xs);font-weight:800;padding:4px 10px 2px}.inv-detail-book-label.sell{color:var(--danger-text)}.inv-detail-book-label.buy{color:var(--status-done)}.inv-detail-book-row{display:flex;align-items:center;gap:8px;padding:4px 10px;font-size:var(--font-base);font-variant-numeric:tabular-nums}.inv-detail-book-row.sell{background:var(--danger-bg)}.inv-detail-book-row.buy{background:rgba(74,158,74,.08)}.inv-detail-book-price{font-weight:700;min-width:50px}.inv-detail-book-row.sell .inv-detail-book-price{color:var(--danger-text)}.inv-detail-book-row.buy .inv-detail-book-price{color:var(--status-done)}.inv-detail-book-amt{flex:1;font-size:var(--font-sm);color:var(--text-secondary)}.inv-detail-book-user{font-size:var(--font-xs);color:var(--text-muted)}.inv-detail-book-row.mine{border-left:2px solid var(--accent-gold)}.inv-detail-book-mine{font-size:var(--font-2xs);color:var(--accent-gold);font-weight:700}.inv-detail-book-spread{text-align:center;font-size:var(--font-xs);color:var(--text-muted);padding:3px 0;background:var(--bg-tertiary)}.inv-detail-book-empty{font-size:var(--font-sm);color:var(--text-muted);padding:10px 12px;text-align:center}.inv-detail-trades{display:flex;flex-direction:column;gap:1px;background:var(--bg-secondary);border-radius:var(--radius-sm);overflow:hidden}.inv-detail-trade-row{display:flex;align-items:center;gap:8px;padding:5px 10px;background:var(--bg-tertiary);font-size:var(--font-sm);font-variant-numeric:tabular-nums}.inv-detail-trade-price{font-weight:700;flex:1;min-width:50px}.inv-detail-trade-price.up{color:var(--status-done)}.inv-detail-trade-price.down{color:var(--danger-text)}.inv-detail-trade-type{font-size:var(--font-xs);font-weight:700;min-width:24px;text-align:center}.inv-detail-trade-type.buy{color:var(--status-done)}.inv-detail-trade-type.sell{color:var(--danger-text)}.inv-detail-trade-time{color:var(--text-muted);font-size:var(--font-xs)}.inv-detail-proj{background:var(--bg-secondary);border-radius:var(--radius-sm);padding:10px;display:flex;flex-direction:column}.inv-detail-proj--compact{padding:12px 14px;gap:8px!important;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:4px}.inv-detail-proj-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.inv-detail-proj-row{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--font-base);color:var(--text-primary)}.inv-detail-proj-label{color:var(--text-muted);font-weight:600;flex-shrink:0;min-width:50px}.inv-detail-proj-desc{font-size:var(--font-base);color:var(--text-secondary);line-height:1.5;padding-top:4px;border-top:1px solid var(--border-color)}.inv-detail-buy-btn{width:100%;padding:12px;font-size:var(--font-lg);font-weight:800;color:#fff;background:var(--status-done);border:none;border-radius:var(--radius-md);cursor:pointer;transition:opacity .15s}.inv-detail-buy-btn:hover{opacity:.85}.inv-detail-proj-phase{font-size:var(--font-xs);font-weight:800;color:#fff;padding:2px 6px;border-radius:var(--radius-xs);line-height:1.2;flex-shrink:0}.inv-detail-proj-title{font-size:var(--font-md);font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.inv-detail-proj-dday{font-size:var(--font-sm);font-weight:700;flex-shrink:0}.inv-detail-proj-desc{font-size:var(--font-sm);color:var(--text-muted);line-height:1.4;border-top:none;padding-top:0}.inv-detail-proj-meta{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:var(--font-sm);color:var(--text-secondary)}.inv-detail-proj-meta>span{background:var(--bg-primary);padding:2px 6px;border-radius:var(--radius-xs);font-size:var(--font-xs)}.inv-detail-proj-progress{display:flex;align-items:center;gap:6px;font-size:var(--font-sm);color:var(--text-muted)}.inv-detail-proj-progress-label{font-size:var(--font-xs);font-weight:600;color:var(--text-secondary);min-width:24px}.inv-detail-proj-progress-bar{flex:1;height:4px;background:var(--bg-primary);border-radius:2px;overflow:hidden}.inv-detail-proj-progress-bar>div{height:100%;background:var(--accent-gold);border-radius:2px;transition:width .3s}.inv-detail-proj-btn{width:100%;padding:10px;font-size:var(--font-sm);font-weight:700;color:var(--accent-gold);background:transparent;border:1px solid var(--accent-gold);border-radius:6px;cursor:pointer;transition:all .15s}.inv-detail-proj-btn:hover{background:var(--accent-gold-subtle)}.inv-detail-buy-btn--sell{background:var(--danger-text)}.inv-detail-trade-tabs{display:flex;gap:0;margin-bottom:8px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-color)}.inv-detail-trade-tab{flex:1;padding:10px 0;min-height:40px;font-size:var(--font-md);font-weight:700;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .15s}.inv-detail-trade-tab.active.buy{background:var(--status-done);color:#fff}.inv-detail-trade-tab.active.sell{background:var(--danger-text);color:#fff}.inv-detail-trade-form{display:flex;flex-direction:column;gap:10px}.inv-detail-trade-label{font-size:var(--font-sm);color:var(--text-muted);font-weight:600}.inv-detail-trade-input{font-size:var(--font-lg);font-variant-numeric:tabular-nums}.inv-detail-trade-input,.inv-detail-trade-select{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);box-sizing:border-box;min-height:40px}.inv-detail-trade-select{font-size:var(--font-md)}.inv-detail-trade-hint{font-size:var(--font-sm);color:var(--text-muted);text-align:center}.inv-detail-trade-row-inputs{display:flex;gap:10px}.inv-detail-trade-field{flex:1;display:flex;flex-direction:column;gap:4px}.inv-detail-trade-empty{font-size:var(--font-md);color:var(--text-muted);text-align:center;padding:16px 0;background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px dashed var(--border-subtle)}.inv-detail-trade-warn{font-size:var(--font-sm);color:var(--danger-text);text-align:center;padding:8px 0;background:rgba(255,59,48,.08);border-radius:6px}.inv-detail-trade-info{font-size:var(--font-sm);color:var(--text-secondary);text-align:center;padding:4px 0}.inv-order-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary)}.inv-order-badge{font-size:var(--font-xs);font-weight:800;padding:1px 6px;border-radius:var(--radius-xs);flex-shrink:0}.inv-order-badge.sell{color:var(--danger-text);background:var(--danger-bg)}.inv-order-badge.buy{color:var(--status-done);background:rgba(74,158,74,.12)}.inv-order-title{flex:1;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inv-order-price,.inv-order-title{font-size:var(--font-base);color:var(--text-primary)}.inv-order-price{font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0}.inv-order-cancel{font-size:var(--font-sm);color:var(--text-muted);background:none;border:none;cursor:pointer;padding:6px 10px;min-height:32px;border-radius:var(--radius-xs);flex-shrink:0;transition:background .12s,color .12s}.inv-order-cancel:hover{background:var(--bg-elevated);color:var(--danger-text)}.inv-bond-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary)}.inv-bond-row--settled{opacity:.55}.inv-bond-actions{display:flex;gap:4px;flex-shrink:0}.inv-bond-info{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.inv-bond-title{font-size:var(--font-base);font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inv-bond-meta{font-size:var(--font-xs);color:var(--text-muted)}.inv-bond-amount{font-size:var(--font-md);font-weight:800;font-variant-numeric:tabular-nums}.inv-bond-amount,.inv-bond-status-tag{color:var(--accent-gold);flex-shrink:0}.inv-bond-status-tag{font-size:var(--font-xs);font-weight:700;padding:1px 6px;background:var(--accent-gold-subtle);border-radius:var(--radius-xs)}.inv-bond-pnl{font-size:var(--font-base);font-weight:800;font-variant-numeric:tabular-nums;flex-shrink:0}.inv-bond-pnl.up{color:var(--status-done)}.inv-bond-pnl.down{color:var(--danger-text)}.inv-bond-pl{font-size:var(--font-2xs);font-weight:700;font-variant-numeric:tabular-nums}.inv-bond-pl.up{color:var(--status-done)}.inv-bond-pl.down{color:var(--danger-text)}.inv-settled-divider{font-size:var(--font-xs);font-weight:700;color:var(--text-muted);padding:6px 12px 2px;background:var(--bg-tertiary)}.inv-segment{display:flex;gap:0;margin:0 16px 12px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-color)}.inv-segment-btn{flex:1;padding:8px 0;font-size:var(--font-md);font-weight:700;text-align:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .15s}.inv-segment-btn:not(:last-child){border-right:1px solid var(--border-color)}.inv-segment-btn.active{background:var(--accent-gold);color:var(--bg-primary)}.investment-card-action{background:none;border:none;cursor:pointer;font-size:var(--font-base);font-weight:600;padding:0}.investment-card-action:hover{opacity:.7}.pdetail-danger{width:100%;padding:10px;font-size:var(--font-md);font-weight:600;color:var(--danger-text);background:var(--danger-bg);border-radius:var(--radius-md);transition:all .15s}.pdetail-danger:hover{background:rgba(139,58,58,.5)}.pdetail-danger-area{display:flex;flex-direction:column;gap:6px}.pdetail-danger-hint{font-size:var(--font-sm);color:var(--text-muted);text-align:center}.confirm-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:250;padding:24px;animation:fadeIn .15s ease}.confirm-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px 24px 20px;width:100%;max-width:340px;display:flex;flex-direction:column;align-items:center;gap:12px;animation:slideUp .2s ease}.confirm-modal-icon{color:var(--danger-text);display:flex}.confirm-modal-title{font-size:var(--font-2xl);font-weight:700;color:var(--text-primary)}.confirm-modal-desc{font-size:var(--font-md);color:var(--text-tertiary);text-align:center;line-height:1.5}.confirm-modal-name{font-weight:700;background:var(--bg-tertiary);padding:6px 14px;border-radius:6px;user-select:all}.confirm-modal-input,.confirm-modal-name{font-size:var(--font-md);color:var(--text-primary)}.confirm-modal-input{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:10px 12px;text-align:center;transition:border-color .15s}.confirm-modal-input:focus{outline:none;border-color:var(--accent-gold)}.confirm-modal-input::placeholder{color:var(--text-muted)}.confirm-modal-btns{display:flex;gap:8px;width:100%;margin-top:4px}.confirm-modal-btn{flex:1;padding:10px;font-size:var(--font-md);font-weight:600;border-radius:var(--radius-md);transition:all .15s}.confirm-modal-btn--cancel{color:var(--text-secondary);background:var(--bg-tertiary)}.confirm-modal-btn--cancel:hover{background:var(--bg-elevated)}.confirm-modal-btn--danger{color:var(--danger-text);background:var(--danger-bg)}.confirm-modal-btn--danger:hover{background:rgba(139,58,58,.5)}.confirm-modal-btn--danger:disabled{opacity:.35;cursor:not-allowed}.confirm-modal-btn--danger:disabled:hover{background:var(--danger-bg)}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tx-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg-tertiary);border-radius:var(--radius-sm)}.tx-row+.tx-row{margin-top:4px}.tx-desc{font-size:var(--font-base);color:var(--text-secondary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-date{font-size:var(--font-xs);color:var(--text-muted);margin-top:2px}.tx-amount{font-size:var(--font-md);font-weight:800;flex-shrink:0;margin-left:12px}.tx-amount.positive{color:var(--status-done)}.tx-amount.negative{color:var(--danger-text)}.tx-more-btn{width:100%;padding:10px;background:none;border:1px dashed var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-base);cursor:pointer;margin-top:8px;transition:background .15s}.tx-more-btn:hover{background:var(--bg-tertiary)}.tx-full-list{max-height:70vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.pdetail-cta{padding:12px;min-height:44px;-webkit-tap-highlight-color:transparent}.pdetail-section{padding:var(--spacing-md)}.pdetail-section-title{font-size:var(--font-lg)}.pjoin-btn{padding:8px 14px;min-height:36px;font-size:var(--font-base)}.pmember-action-btn,.pmember-remove{width:32px;height:32px}.ptask-remove{width:28px;height:28px}@media(hover:none){.ptask-remove{opacity:.6}}.pdetail-input{padding:10px 12px;min-height:40px}.ptask-field-input{padding:8px 10px;min-height:36px}.pdetail-add-btn{padding:10px 16px;min-height:40px}.prev-badge--fail{color:var(--danger-text);background:var(--danger-bg)}.pdetail-empty{padding:16px 0;font-size:var(--font-md)}.confirm-modal-btn,.pdetail-danger{padding:12px;min-height:44px}.ptask-progress{margin-top:6px}.padd-input{min-height:44px;padding:10px 12px}.space-pip{position:fixed;top:calc(64px + var(--safe-area-top, 0px));left:12px;width:240px;height:160px;z-index:90;border-radius:12px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.25);border:none;background:#6aa850;cursor:pointer;animation:space-pip-in .3s ease both;transform:translateZ(0);-webkit-font-smoothing:antialiased;transition:top .4s cubic-bezier(.4,0,.2,1),left .4s cubic-bezier(.4,0,.2,1),width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease,border-radius .4s cubic-bezier(.4,0,.2,1),border-color .3s ease,box-shadow .3s ease}@keyframes space-pip-in{0%{opacity:0}to{opacity:1}}@media (min-width:769px){.space-pip.sidebar-open{left:312px}.space-pip.expanded.sidebar-open{left:300px;width:calc(100% - 300px)}}.space-pip .mv{height:100%!important}.space-pip .mv-actions,.space-pip .mv-bar,.space-pip .mv-bubble,.space-pip .mv-chat,.space-pip .mv-hud,.space-pip .mv-mini,.space-pip .mv-pending-toast,.space-pip .mv-player-name,.space-pip .mv-requests,.space-pip .mv-tent-owner,.space-pip .mv-toast{display:none}.space-pip .mv-player-emoji,.space-pip .mv-tent-emoji{font-size:10px}.space-pip .mv-player-task{display:none}.space-pip.hidden-bg{width:0;height:0;border-radius:50%;opacity:0;pointer-events:none;box-shadow:none;border-color:transparent}.space-pip.hidden-bg.sidebar-open{width:0;height:0}.space-pip.minimized{width:44px;height:44px;border-radius:50%;top:calc(64px + var(--safe-area-top, 0px));left:12px}.space-pip.minimized .space-pip-content{opacity:0}.space-pip.minimized .space-pip-controls{display:none}.space-pip.minimized .space-pip-mini-icon{display:flex}.space-pip.expanded{top:calc(57px + var(--safe-area-top, 0px));left:0;right:0;bottom:calc(65px + var(--safe-area-bottom, 0px));width:100%;height:auto;border-radius:0;border:none;cursor:default;overflow:visible}.space-pip.expanded .mv{height:100%!important}.space-pip.expanded .mv-bar,.space-pip.expanded .mv-hud{display:flex}.space-pip.expanded .mv-mini{display:block}.space-pip.expanded .mv-chat,.space-pip.expanded .mv-pending-toast,.space-pip.expanded .mv-requests{display:flex}.space-pip.expanded .mv-bubble,.space-pip.expanded .mv-player-name,.space-pip.expanded .mv-tent-owner,.space-pip.expanded .mv-toast{display:block}.space-pip.expanded .mv-actions{display:flex}.space-pip.expanded .mv-player-emoji,.space-pip.expanded .mv-tent-emoji{font-size:24px}.space-pip.expanded .mv-player-task{display:block}.space-pip-controls{position:absolute;top:4px;right:4px;z-index:95;display:flex;gap:4px}.space-pip.expanded .space-pip-controls{top:10px;right:10px}.space-pip-btn{width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;-webkit-tap-highlight-color:transparent}.space-pip-btn:hover{background:rgba(0,0,0,.7)}.space-pip-btn svg{width:14px;height:14px}.space-pip.expanded .space-pip-btn{width:36px;height:36px}.space-pip.expanded .space-pip-btn svg{width:18px;height:18px}.space-pip-content{width:100%;height:100%;pointer-events:auto}.space-pip:not(.expanded) .space-pip-content{pointer-events:none}.space-pip-mini-icon{display:none;width:100%;height:100%;align-items:center;justify-content:center;color:#fff}.space-pip-mini-icon svg{width:22px;height:22px}.space-fab{position:fixed;bottom:calc(80px + var(--safe-area-bottom, 0px));right:16px;z-index:50;width:48px;height:48px;border-radius:50%;background:#333;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.2);transition:transform .15s,background .15s;-webkit-tap-highlight-color:transparent}.space-fab:hover{background:#555;transform:scale(1.05)}.space-fab:active{transform:scale(.95)}.space-fab svg{width:22px;height:22px}.mv{padding:0!important;display:flex;flex-direction:column;height:calc(100dvh - 60px - 72px - 44px);overflow:hidden}.mv-bar{flex-wrap:wrap;justify-content:space-between;padding:6px 12px;gap:4px 8px;background:#fff;border-bottom:1px solid #e8e8e8;flex-shrink:0;z-index:20}.mv-bar,.mv-bar-l{display:flex;align-items:center}.mv-bar-l{gap:8px;min-width:0}.mv-bar-r{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto}.mv-loc{font-size:13px;font-weight:700;color:#222;overflow:hidden;text-overflow:ellipsis;max-width:140px}.mv-loc,.mv-online{white-space:nowrap;line-height:1}.mv-online{font-size:11px;color:#888}.mv-btn{padding:5px 12px;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;background:#f5f5f5;border:1px solid #ddd;color:#333;transition:background .12s;white-space:nowrap;line-height:1;display:inline-flex;align-items:center}.mv-btn:hover{background:#eee}.mv-btn.on{background:#e0e0e0;border-color:#ccc}.mv-btn:disabled{opacity:.5;cursor:default}.mv-build-wrap{position:relative}.mv-build-menu{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.12);min-width:180px;z-index:30;padding:4px 0;animation:mv-menu-in .15s ease-out;transform-origin:top right}@keyframes mv-menu-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.mv-build-menu button{display:block;width:100%;text-align:left;padding:8px 14px;font-size:12px;font-weight:500;color:#333;background:none;border:none;cursor:pointer;white-space:nowrap}.mv-build-menu button:hover{background:#f5f5f5}.mv-build-sep{height:1px;background:#eee;margin:4px 0}.mv-build-empty{padding:8px 14px;font-size:12px;color:#aaa}.mv-actions{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#fafafa;border-bottom:1px solid #e8e8e8;flex-shrink:0;z-index:10;flex-wrap:wrap;position:relative;overflow:visible}.mv-actions .mv-build-menu{left:0;right:auto;transform-origin:top left}.mv-act-btn{padding:5px 12px;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;background:#f5f5f5;border:1px solid #ddd;color:#333;transition:background .12s;white-space:nowrap;line-height:1;display:inline-flex;align-items:center}.mv-act-btn:hover{background:#e6e6e6}.mv-act-btn.on{background:#e0e0e0;border-color:#ccc}.mv-act-btn:disabled{opacity:.5;cursor:default}.mv-act-btn.enter{background:#e8f4ec;border-color:#b8d8c0;color:#2a7a48}.mv-act-btn.enter:hover{background:#d8ecdf}.mv-act-btn.leave{background:#fdf2f0;border-color:#e0c4be;color:#a04030}.mv-act-btn.leave:hover{background:#f5e4e0}.mv-body{flex:1;display:flex;flex-direction:column}.mv-body,.mv-vp{min-height:0;position:relative;overflow:hidden}.mv-vp{background:#6aa850;cursor:default;flex:1;user-select:none;-webkit-user-select:none;touch-action:manipulation;transform:translateZ(0)}.mv-vp-tent{background:#1a1a1a}.mv-layer{position:absolute;top:0;left:0;will-change:transform;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;backface-visibility:hidden}.mv-player{position:absolute;z-index:20;transform:translate(-50%,-50%);pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:2px}.mv-player.other{transition:left .14s ease-out,top .14s ease-out}.mv-player-avatar{position:relative;display:flex;align-items:center;justify-content:center}.mv-player-emoji{font-size:24px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}.mv-player-name{font-size:10px;font-weight:700;color:#fff;background:rgba(0,0,0,.35);padding:1px 6px;border-radius:4px;white-space:nowrap}.mv-player.me .mv-player-name{background:rgba(40,120,200,.6)}.mv-player-task{position:absolute;top:100%;left:50%;transform:translateX(-50%);font-size:9px;color:#ffe082;background:rgba(0,0,0,.45);padding:2px 6px;border-radius:3px;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis;line-height:1.2;margin-top:2px}.mv-player.working .mv-player-emoji{animation:mv-work 2s ease-in-out infinite}@keyframes mv-work{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-3px) scale(1.08)}60%{transform:translateY(-1px) scale(1.02)}}.mv-particle{position:absolute;font-size:10px;pointer-events:none;opacity:0;animation:mv-particle-float 2.4s ease-in-out infinite}.mv-particle.p1{top:-4px;left:-10px;animation-delay:0s}.mv-particle.p2{top:-8px;right:-10px;animation-delay:.8s}.mv-particle.p3{top:-2px;left:50%;animation-delay:1.6s}@keyframes mv-particle-float{0%{opacity:0;transform:translateY(0) scale(.6)}15%{opacity:1;transform:translateY(-6px) scale(.9)}50%{opacity:.8;transform:translateY(-14px) scale(1)}to{opacity:0;transform:translateY(-22px) scale(.5)}}.mv-bubble{bottom:100%;margin-bottom:4px;background:#fff;color:#222;font-size:12px;line-height:1.4;padding:5px 10px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.12);white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis;pointer-events:none;animation:mv-bubble-in .2s ease-out;z-index:25}.mv-bubble,.mv-bubble:after{position:absolute;left:50%;transform:translateX(-50%)}.mv-bubble:after{content:"";top:100%;border:5px solid transparent;border-top-color:#fff}@keyframes mv-bubble-in{0%{opacity:0;transform:translateX(-50%) translateY(4px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.mv-tent{position:absolute;z-index:8;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:auto;cursor:pointer}.mv-tent-emoji{font-size:28px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15));transition:transform .15s}.mv-tent-owner{font-size:9px;color:#fff;background:rgba(180,100,40,.5);padding:1px 5px;border-radius:3px;white-space:nowrap}.mv-tent:hover .mv-tent-emoji{transform:scale(1.1)}.mv-tent.hideout .mv-tent-owner{background:rgba(60,80,160,.5)}.mv-tent-wrapper{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.mv-tent-room{position:relative;background:#f5edd6;border-radius:6px;box-shadow:0 0 40px rgba(0,0,0,.3);overflow:hidden}.mv-tent-item{position:absolute;z-index:6;transform:translate(-50%,-50%);pointer-events:auto;cursor:default}.mv-tent-hud-label{font-size:11px;color:#8b6b3d;font-weight:600}.mv-marker{position:absolute;z-index:15;width:8px;height:8px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;border:2px solid #4488ff;animation:mv-ping .8s ease-out infinite;pointer-events:none}@keyframes mv-ping{to{transform:translate(-50%,-50%) scale(2.5);opacity:0}}.mv-mini{top:12px;right:12px;border-radius:6px;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.15);image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.mv-hud,.mv-mini{position:absolute;z-index:15}.mv-hud{bottom:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:#fff;padding:5px 14px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.mv-coord{font-size:11px;color:#888;font-family:monospace}.mv-requests{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:25;gap:6px}.mv-request,.mv-requests{display:flex;flex-direction:column}.mv-request{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:10px 14px;box-shadow:0 4px 16px rgba(0,0,0,.12);gap:8px;font-size:13px;color:#333;animation:mv-bubble-in .2s ease-out}.mv-request b{color:#2878c8}.mv-request-btns{display:flex;gap:6px}.mv-req-accept{padding:4px 14px;background:#4a9;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.mv-req-accept:hover{background:#3a8}.mv-req-reject{padding:4px 14px;background:#eee;color:#666;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.mv-req-reject:hover{background:#ddd}.mv-pending-toast{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:25;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:8px 16px;font-size:12px;color:#888;box-shadow:0 4px 12px rgba(0,0,0,.1);animation:mv-bubble-in .2s ease-out;display:flex;align-items:center;gap:10px}.mv-pending-cancel{padding:3px 10px;background:#eee;color:#666;border:none;border-radius:5px;font-size:11px;font-weight:600;cursor:pointer}.mv-pending-cancel:hover{background:#ddd}.mv-toast{position:absolute;top:50px;left:50%;transform:translateX(-50%);z-index:25;background:#333;color:#fff;border-radius:8px;padding:8px 16px;font-size:12px;box-shadow:0 4px 12px rgba(0,0,0,.2);animation:mv-bubble-in .2s ease-out}.mv-chat{position:absolute;bottom:0;left:0;width:300px;max-height:min(360px,70%);min-height:260px;background:#fff;border:1px solid #e8e8e8;border-radius:0 10px 0 0;display:flex;flex-direction:column;z-index:20;box-shadow:0 -2px 12px rgba(0,0,0,.06)}.mv-chat-hd{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #eee;font-size:13px;font-weight:700;color:#333}.mv-chat-hd button{background:none;border:none;cursor:pointer;font-size:15px;color:#aaa}.mv-chat-body{flex:1;overflow-y:auto;padding:10px 14px;display:flex;flex-direction:column;gap:4px;min-height:120px;max-height:none}.mv-msg{font-size:13px;color:#444;line-height:1.5}.mv-msg b{color:#2a8;font-size:12px}.mv-msg.me b{color:#48a}.mv-msg small{color:#bbb;font-size:11px}.mv-msg-system{font-size:11px;color:#999;font-style:italic;text-align:center;padding:2px 0}.mv-chat-ft{display:flex;gap:8px;padding:10px 14px;border-top:1px solid #eee}.mv-chat-ft input{flex:1;background:#f8f8f8;border:1px solid #ddd;border-radius:6px;padding:7px 12px;font-size:13px;color:#333;outline:none}.mv-chat-ft input:focus{border-color:#aaa}.mv-chat-ft button{padding:7px 16px;background:#333;color:#fff;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;border:none}.mv-tent-furn{position:absolute;z-index:6;display:flex;align-items:center;justify-content:center;pointer-events:auto;cursor:default}.mv-tent-furn-emoji{font-size:22px;line-height:1;pointer-events:none}.mv-tent-furn.editable{cursor:grab;touch-action:none}.mv-tent-furn.dragging,.mv-tent-furn.editable:active{cursor:grabbing;z-index:10}.mv-tent-furn.dragging{opacity:.7}.mv-furn-del{position:absolute;top:-4px;right:-4px;width:14px;height:14px;background:#e55;color:#fff;border:none;border-radius:50%;font-size:9px;line-height:14px;text-align:center;cursor:pointer;padding:0;z-index:22;opacity:0;transition:opacity .15s}.mv-tent-furn.editable:hover .mv-furn-del{opacity:1}.mv-furn-confirm{bottom:calc(100% + 6px);background:#fff;border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,.18);padding:10px 14px;z-index:30;display:flex;flex-direction:column;gap:8px;animation:mv-furn-pop .15s ease-out;white-space:nowrap;pointer-events:auto}.mv-furn-confirm,.mv-furn-confirm:after{position:absolute;left:50%;transform:translateX(-50%)}.mv-furn-confirm:after{content:"";top:100%;border:6px solid transparent;border-top-color:#fff}.mv-furn-confirm span{font-size:12px;color:#333;font-weight:500;text-align:center}.mv-furn-confirm-btns{display:flex;gap:6px;justify-content:center}.mv-furn-confirm-yes{padding:4px 14px;background:#e55;color:#fff;border:none;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;transition:background .12s}.mv-furn-confirm-yes:hover{background:#d44}.mv-furn-confirm-no{padding:4px 14px;background:#f0f0f0;color:#666;border:none;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;transition:background .12s}.mv-furn-confirm-no:hover{background:#e0e0e0}@keyframes mv-furn-pop{0%{opacity:0;transform:translateX(-50%) translateY(4px) scale(.95)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}.mv-furn-count{font-size:11px;color:#888;margin-left:4px;line-height:1;display:inline-flex;align-items:center}.mv-furn-menu{min-width:160px}.mv-pip-btn{display:flex;align-items:center;justify-content:center;padding:4px 6px!important}.mv-pip-btn svg{flex-shrink:0}.mv-emoji-wrap{position:relative;display:flex;align-items:center}.mv-emoji-picker{position:absolute;top:100%;right:0;z-index:200;background:#1a1a2e;border:1px solid #334;border-radius:8px;padding:6px;display:grid;grid-template-columns:repeat(6,1fr);gap:2px;box-shadow:0 4px 16px #0008;min-width:200px}.mv-emoji-opt{background:none;border:2px solid transparent;border-radius:6px;font-size:20px;padding:4px;cursor:pointer;transition:all .15s;line-height:1}.mv-emoji-opt:hover{background:#ffffff18;transform:scale(1.15)}.mv-emoji-opt.selected{border-color:#7c6cf0;background:#7c6cf018}@media (min-width:768px){.space-pip.expanded{top:48px;bottom:0;height:calc(100dvh - 48px)}}@media (max-width:480px){.mv-chat{width:100%}.mv-btn{padding:4px 8px;font-size:11px}.mv-loc{max-width:100px}.space-pip{width:200px;height:140px}}