[hidden] { display: none !important; }
.top-inner { gap: 35px; }
nav { gap: 5px; }
.top-actions { gap: 10px; }
#squads-view .page-heading { margin-bottom: 30px; }
#squads-view h1 { font-size: clamp(32px,3.2vw,45px); }
.service-notice { padding: 15px 20px; margin-bottom: 22px; background: #f0f4e9; border: 1px solid #dde6d1; border-radius: 16px; color: #61724f; font-size: 14px; }
.squad-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 30px 0 25px; }
.squad-tabs { display: flex; gap: 4px; padding: 5px; background: #edf1e7; border-radius: 25px; }
.squad-tabs button { background: transparent; border-radius: 21px; padding: 8px 17px; font-size: 14px; color: #6e7b60; white-space: nowrap; }
.squad-tabs button.selected { background: #fff; box-shadow: 0 2px 6px #53683a0a; color: #485d36; font-weight: 600; }
.squad-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.squad-card { background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 24px; box-shadow: 0 3px 15px #38432803; }
.squad-card-title { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.squad-card-title h3 { font-size: 17px; font-weight: 600; letter-spacing: -.3px; min-width: 0; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
.mode-chip { border-radius: 16px; padding: 4px 8px; background: #f1f4ec; color: #677854; font-size: 12px; white-space: nowrap; }
.mode-chip.live { background: #eef1f7; color: #687790; }
.squad-team { display: flex; align-items: flex-start; justify-content: space-around; gap: 12px; width: 100%; border: 0; background: transparent; margin: 30px 0 24px; padding: 0; }
.squad-dot { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 0; }
.squad-dot strong { font-size: 14px; font-weight: 600; margin-top: 12px; color: #5c6e4a; }
.squad-dot small { font-size: 12px; color: #727e63; }
.squad-character { display: block; flex-shrink: 0; }
.squad-character .dot-character { animation: quiet-float 8s ease-in-out infinite; }
.squad-dot:nth-child(2) .dot-character { animation-duration: 9.2s; animation-delay: -2s; }
.squad-dot:nth-child(3) .dot-character { animation-duration: 10s; animation-delay: -4s; }
.squad-character .dot-eyes i { animation: quiet-blink 9s infinite; }
.squad-dot:nth-child(2) .dot-eyes i { animation-delay: -2s; }
.squad-dot:nth-child(3) .dot-eyes i { animation-delay: -4s; }
.squad-team:hover .dot-character { filter: brightness(1.025); }
.squad-card-values { display: flex; justify-content: space-between; gap: 15px; }
.squad-card-values>span { font-size: 12px; color: #717c66; }
.squad-card-values>span:last-child { text-align: right; }
.squad-card-values strong { display: block; margin-top: 5px; font-size: 23px; font-weight: 500; letter-spacing: -.5px; font-variant-numeric: tabular-nums; color: #4e6040; }
.squad-card-values strong.positive { color: var(--positive); }
.squad-card-values strong.negative { color: var(--negative); }
.squad-card-values small { font-size: 12px; font-weight: 400; letter-spacing: 0; color: #738266; }
.squad-reason { font-size: 14px; color: #6d7962; line-height: 1.6; margin-top: 20px; min-height: 68px; }
.squad-card-actions { display: flex; justify-content: space-between; align-items: center; gap: 10px; border-top: 1px solid #edf1e5; padding-top: 15px; margin-top: 15px; }
.squad-card-actions>span { font-size: 12px; color: #748069; }
.squad-card-actions .text-button { font-size: 12px; }
.review-button { width: 100%; margin-top: 17px; }
.squad-empty { grid-column: 1/-1; text-align: center; padding: 46px 24px; border: 1px solid var(--line); background: #fff; border-radius: 24px; }
.empty-dot { display: flex; justify-content: center; margin-bottom: 26px; }
.squad-empty h3 { font-size: 24px; font-weight: 600; letter-spacing: -.7px; }
.squad-empty p { color: #6a795c; font-size: 16px; max-width: 470px; margin: 12px auto 24px; }
.live-workspace { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; margin-top: 32px; align-items: start; }
.market-row { display: flex; justify-content: space-between; gap: 17px; align-items: center; padding: 15px 25px; border-top: 1px solid #eef1e7; font-size: 14px; }
.market-row>span { min-width: 0; }
.market-row>span:first-child { flex: 1; }
.market-row>span:nth-child(2) { min-width: 90px; text-align: right; }
.market-row>span:last-child { text-align: right; min-width: 76px; }
.market-row strong { display: block; font-size: 14px; font-weight: 600; color: #5d704a; }
.market-row small { display: block; margin-top: 3px; font-size: 12px; color: #738264; }
.market-row:hover { background: #fbfcf8; }
.squad-trades { max-height: 660px; overflow: auto; scrollbar-width: thin; }
.live-trade { display: flex; gap: 12px; align-items: flex-start; padding: 17px 22px; border-top: 1px solid #edf1e5; font-size: 14px; }
.live-trade>div { min-width: 0; flex: 1; }
.live-trade>div strong { font-size: 14px; font-weight: 600; color: #5c7048; }
.live-trade>div p { font-size: 12px; color: #6e7c60; margin: 4px 0; line-height: 1.6; }
.live-trade small { font-size: 12px; color: #748369; }
.live-trade>span:last-child { text-align: right; white-space: nowrap; font-size: 12px; color: #637851; }
.live-trade>span:last-child a { display: block; color: #587545; margin-top: 6px; }
.trade-side { font-size: 12px; border-radius: 5px; padding: 2px 6px; color: #597745; background: #eff4e9; text-transform: capitalize; }
.trade-side.sell { background: #f5f0e6; color: #8a6c42; }
.pending-trade { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 23px; border: 1px solid #d6dfcd; border-radius: 18px; background: #edf3e7; margin-bottom: 23px; color: #5e744c; }
.pending-trade strong { font-size: 14px; font-weight: 600; }
.pending-trade p { font-size: 12px; margin-top: 4px; }
.wallet-choice { display: flex; justify-content: space-between; align-items: center; width: 100%; border-radius: 13px; background: #f2f5ec; border: 1px solid #e3e9da; padding: 16px 20px; font-size: 16px; margin: 10px 0; color: #596f47; }
.wallet-choice:hover { background: #eaf1df; }
.builder-team { margin: 32px 0; }
.role-pickers { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.role-pickers label, .call-label { display: flex; flex-direction: column; gap: 8px; color: #63794f; font-size: 14px; }
.role-pickers select { padding-left: 10px; padding-right: 8px; font-size: 14px; }
.squad-compiled { background: #f4f7ef; border: 1px solid #e8eede; border-radius: 14px; padding: 16px 18px; margin: 19px 0 23px; }
.squad-compiled p { font-size: 14px; line-height: 1.7; color: #667a52; margin-bottom: 8px; }
.squad-compiled p:last-child { margin-bottom: 0; }
.position-row { display: flex; justify-content: space-between; gap: 15px; align-items: center; padding: 12px 0; border-top: 1px solid #e6eddc; }
.position-row>span { display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.position-row small { font-size: 12px; color: #6d805b; }
.decision-log { margin-top: 25px; }
.decision-log h3 { font-size: 16px; font-weight: 600; padding-bottom: 9px; }
.decision-log p { font-size: 14px; color: #6a7d59; padding: 9px 0; border-bottom: 1px solid #edf1e6; line-height: 1.7; }
.decision-log small { font-size: 12px; }
#squad-detail-dialog { width: 650px; }
.detail-team { padding: 10px 0; margin: 27px 0; }
.quote-reason { font-size: 16px; color: #627750; margin: 20px 0; line-height: 1.65; }
.quote-facts { margin: 0; }
.quote-facts>div { display: flex; justify-content: space-between; align-items: center; gap: 25px; padding: 11px 0; border-bottom: 1px solid #ecf0e4; font-size: 14px; }
.quote-facts dt { color: #6f7e61; }
.quote-facts dd { margin: 0; color: #526c3d; text-align: right; font-variant-numeric: tabular-nums; }
.quote-note { color: #6a7d58; font-size: 14px; line-height: 1.7; margin-top: 20px; }
button:disabled { cursor: wait; opacity: .55; }
option:disabled { color: #969e8d; }
.motion-off .squad-character *, .motion-off .squad-character *::before, .motion-off .squad-character *::after { animation-play-state: paused !important; transition: none !important; }
@media(max-width:1200px) { .squad-list { grid-template-columns: repeat(2,minmax(0,1fr)); } .top-inner { gap: 18px; } nav a,.nav-button { padding: 8px 10px; } }
@media(max-width:860px) { .live-workspace { grid-template-columns: 1fr; } .squad-toolbar { flex-wrap: wrap; gap: 16px; } .top-inner { flex-wrap: wrap; } nav { order: 3; width: 100%; justify-content: space-between; } }
@media(max-width:560px) { .squad-list { grid-template-columns: 1fr; gap: 18px; } .top-actions .button { font-size: 12px; padding: 9px 12px; } .top-actions { gap: 6px; } .top-inner { gap: 15px; } .brand { font-size: 26px; } .squad-toolbar { margin: 23px 0 20px; } .squad-tabs { width: 100%; } .squad-tabs button { padding: 7px 10px; flex: 1; font-size: 12px; } .squad-card { padding: 24px; } .squad-card-title h3 { font-size: 17px; } .live-workspace { margin-top: 24px; } .market-row { padding: 14px 19px; gap: 12px; } .live-trade { flex-wrap: wrap; padding: 17px 19px; } .live-trade>span:last-child { margin-left: 47px; text-align: left; } .role-pickers { gap: 9px; } .role-pickers select { font-size: 14px; padding: 10px 7px; } .pending-trade { flex-wrap: wrap; gap: 11px; } .squad-empty { padding: 37px 23px; } }
@media(max-width:360px) { .brand { font-size: 23px; } .brand-mark { gap: 3px; margin-right: 8px; } .top-actions .button { font-size: 12px; padding: 8px 10px; } .top-actions { gap: 5px; } .top-inner { padding-left: 16px; padding-right: 16px; } .squad-card { padding: 21px; } .squad-team { gap: 8px; } .squad-tabs button { padding: 7px 8px; } }
@media(prefers-reduced-motion:reduce) { .squad-character *, .squad-character *::before, .squad-character *::after { animation: none !important; transition: none !important; } }

.contract-bar { max-width: 1320px; margin: 0 auto; padding: 0 24px 16px; display: flex; align-items: center; justify-content: center; gap: 12px; color: #728164; font-size: 12px; }
.contract-label { color: #849076; letter-spacing: .06em; }
.contract-bar code { font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: 12px; user-select: all; overflow-wrap: anywhere; min-width: 0; }
.contract-copy { padding: 5px 10px; border: 1px solid #e0e7d8; border-radius: 8px; background: #f1f5eb; color: #5b7346; font-size: 12px; white-space: nowrap; }
.contract-copy:hover { background: #e8efdf; }
.contract-explorer { font-size: 17px; line-height: 1; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.floor-label { font-size: 17px; font-weight: 600; letter-spacing: -.3px; display: flex; align-items: center; gap: 12px; }
.builder-mode { display: flex; flex-direction: column; gap: 12px; font-size: 14px; color: #63794f; }
.builder-mode strong { padding: 12px 0; font-size: 14px; font-weight: 500; }
.callout-panel { margin-top: 24px; scroll-margin-top: 20px; }
.chat-messages { max-height: 420px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.chat-message { padding: 19px 25px; border-top: 1px solid #edf1e5; }
.chat-message-heading { display: flex; align-items: center; gap: 12px; justify-content: space-between; font-size: 12px; }
.chat-message-heading a { font-weight: 600; color: #5d7548; }
.chat-message-heading a span { margin-left: 7px; font-weight: 400; color: #839074; }
.chat-message-heading time { color: #859178; }
.chat-message-text { color: #58684b; font-size: 15px; line-height: 1.6; margin: 8px 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.chat-parent { padding: 8px 12px; margin: 10px 0; border-left: 2px solid #c9d8b6; background: #f6f8f2; color: #7a896b; font-size: 12px; overflow-wrap: anywhere; }
.chat-parent span { font-weight: 600; }
.chat-token { display: inline-block; padding: 4px 8px; border-radius: 7px; background: #edf3e6; color: #668051; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: 12px; }
.chat-message-actions { display: flex; gap: 15px; margin-top: 9px; }
.chat-message-actions button { font-size: 12px; color: #839273; }
.chat-form { border-top: 1px solid #edf1e5; padding: 20px 25px; }
.chat-form>label,.chat-compose-bottom label { display: flex; flex-direction: column; gap: 7px; font-size: 12px; color: #6b7d59; }
.chat-form>label { margin-bottom: 8px; }
.chat-form textarea { display: block; width: 100%; box-sizing: border-box; resize: vertical; min-height: 70px; max-height: 200px; padding: 13px 15px; border: 1px solid #dfe7d5; border-radius: 13px; font: inherit; font-size: 14px; line-height: 1.6; background: #fafcf7; color: #546943; }
.chat-form textarea:focus { outline: 2px solid #c4d6b0; outline-offset: 2px; }
.chat-compose-bottom { display: flex; align-items: end; gap: 18px; margin-top: 13px; }
.chat-compose-bottom label { display: block; flex: 1; }
.chat-compose-bottom label span { color: #8c9780; }
.chat-compose-bottom input { display: block; width: 100%; margin-top: 7px; font-size: 12px; padding: 10px 12px; }
.chat-compose-bottom button { flex-shrink: 0; }
.chat-identity { font-size: 12px; color: #849275; line-height: 1.5; margin-top: 12px; }
.chat-reply { display: flex; justify-content: space-between; align-items: center; gap: 12px; color: #7b8c68; font-size: 12px; margin-bottom: 12px; }
.chat-reply button { font-size: 12px; }
@media(max-width:560px) { .contract-bar { padding: 0 20px 14px; gap: 8px; } .contract-bar code { font-size: 10px; } .contract-copy { font-size: 10px; padding: 5px 7px; } .floor-label { font-size: 16px; gap: 8px; } .floor-label .mode-chip { font-size: 10px; } .chat-message,.chat-form { padding: 17px 19px; } .chat-compose-bottom { flex-wrap: wrap; } .chat-compose-bottom label { flex-basis: 100%; } .chat-compose-bottom button { width: 100%; } }
