/* JOY Stream v16.7. Scoped to the forum and its AI viewpoint panels. */
:root{--crew-surface:#fffefa;--crew-soft:#f2f5ed;--crew-ink:#173f31;--crew-muted:#65756c;--crew-line:#dce3d9;--crew-accent:#dff09e;--crew-red:#ad433b}
:root[data-theme="dark"]{--crew-surface:#182522;--crew-soft:#1e302a;--crew-ink:#e0eee6;--crew-muted:#acbfb4;--crew-line:#354b41;--crew-accent:#d4e9a1;--crew-red:#ffa69b}
#stream .st-wrap{max-width:1450px;margin:auto;padding:24px 20px 40px;box-sizing:border-box}
#stream .st-page-head{align-items:center;border-bottom:0;margin-bottom:20px}
#stream .st-page-head h2{font-size:clamp(28px,3.4vw,42px);letter-spacing:-.04em;margin:6px 0 10px}
#stream .st-page-head .eyebrow{color:var(--crew-muted)}
#stream .st-tabs{gap:7px;overflow-x:auto;flex-wrap:nowrap;padding:0 0 14px;scrollbar-width:thin;max-width:100%}
#stream .st-tabs button{flex-shrink:0;border-radius:999px;padding:11px 17px;font-weight:650}
#stream .st-tabs .active{background:#173f31;color:#fff}
#stream .st-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}
#stream .st-col,#stream .st-aside,#stream .st-main-sec{min-width:0}
#stream .st-main-sec{padding:18px;background:var(--crew-surface);border:1px solid var(--crew-line);border-radius:22px}
#stream .st-post{padding:24px 0;border-color:var(--crew-line)}
#stream .st-post .st-title{font-size:clamp(17px,1.6vw,22px);line-height:1.35;letter-spacing:-.025em;margin:10px 0}
#stream .st-post>.st-main{min-width:0}
#stream .st-post .st-body{line-height:1.65;overflow-wrap:anywhere}
#stream .st-post header{flex-wrap:wrap;row-gap:5px}
#stream .st-post.reply{padding:14px 0;border-top:1px solid var(--crew-line)}
#stream .st-replies:not(:empty){border-left:2px solid var(--crew-line);padding-left:14px;margin-top:20px}
#stream .st-kind,#stream .st-badge{border-radius:6px;padding:3px 7px}
#stream .st-compose{border-radius:16px;background:var(--crew-soft)}
#stream .st-compose textarea{background:transparent}
#stream .st-filter input,#stream .st-search{min-width:0;max-width:100%;box-sizing:border-box}
.crew-panel{margin:20px 0 8px;color:var(--crew-ink);font-size:13px;min-width:0;overflow-wrap:anywhere}
.crew-impact{display:flex;gap:12px;border:1px solid var(--crew-line);border-radius:14px;background:var(--crew-soft);padding:16px}
.crew-impact b{font-size:15px}.crew-impact p{margin:5px 0 0!important;color:var(--crew-muted);font-size:12px;line-height:1.6}
.crew-spark{font-size:22px;color:var(--crew-ink)}
.crew-discussion{border:1px solid var(--crew-line);border-radius:14px;margin-top:10px;background:var(--crew-surface);overflow:hidden}
.crew-discussion>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none;padding:15px;cursor:pointer}
.crew-discussion>summary::-webkit-details-marker{display:none}
.crew-discussion>summary>span:first-child:before{content:'＋';margin-right:8px}.crew-discussion[open]>summary>span:first-child:before{content:'−'}
.crew-discussion summary small{display:block;font-size:11px;margin:5px 0 0 20px;color:var(--crew-muted)}
.crew-face-stack{display:flex;padding-left:6px;flex-shrink:0}.crew-face-stack .crew-avatar{width:31px;height:31px;margin-left:-6px;border:2px solid var(--crew-surface)}
.crew-avatar{display:inline-block;flex-shrink:0;width:48px;height:48px;border-radius:50%;background-image:url('crew-assets/joy-crew-50.png');background-size:1000% 500%;background-repeat:no-repeat;background-color:var(--crew-soft)}
.crew-ai{display:inline-block;vertical-align:middle;border-radius:5px;background:#dff09e;color:#173f31;padding:3px 6px;font-size:9px;font-style:normal;font-weight:750;line-height:1.2;white-space:nowrap}
.crew-disclosure{font-size:11px;color:var(--crew-muted);line-height:1.6;margin:0!important;padding:0 15px 15px}
.crew-note{display:flex;gap:12px;padding:17px 15px;border-top:1px solid var(--crew-line);align-items:flex-start;background:var(--crew-surface)}
.crew-note>div{min-width:0;flex:1}.crew-note header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.crew-note header b{font-size:13px}.crew-note header small{width:100%;color:var(--crew-muted);font-size:11px}
.crew-note p{font-size:13px;line-height:1.65;margin:9px 0!important}.crew-note-reply{margin-left:22px;border-left:2px solid var(--crew-line)}
.crew-note .crew-reply-context{color:var(--crew-muted);font-size:10px;margin:6px 0!important}
.crew-evidence{font-size:11px;color:var(--crew-muted);margin:7px 0}.crew-evidence summary{cursor:pointer;display:list-item;list-style:disclosure-closed}.crew-evidence[open] summary{list-style:disclosure-open}.crew-evidence p{font-size:11px}
.crew-link{background:none;border:0;padding:5px 0;color:var(--crew-ink);font-size:11px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.crew-participate{padding:15px;background:var(--crew-soft);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.crew-participate p{margin:0!important;font-size:12px;flex:1}.crew-participate button,.crew-primary{background:#173f31;color:#fff;border:1px solid #315c47;border-radius:9px;padding:10px 14px;font-size:12px;font-weight:700;cursor:pointer}
.crew-box h3{font-size:21px;line-height:1.25;letter-spacing:-.025em;margin:10px 0}.crew-box>p{font-size:12px;color:var(--crew-muted);line-height:1.6}
.crew-kicker{color:var(--crew-muted);font-size:10px;font-weight:800;letter-spacing:.12em}
.crew-sidebar-list{display:grid;margin:14px 0}.crew-sidebar-list>button{display:flex;align-items:center;text-align:left;gap:10px;padding:12px 0;border:0;border-bottom:1px solid var(--crew-line);background:transparent;color:var(--crew-ink);cursor:pointer;min-width:0}.crew-sidebar-list b{display:block;font-size:12px}.crew-sidebar-list small{display:block;color:var(--crew-muted);font-size:11px;margin-top:6px}.crew-box .crew-primary{width:100%}
.crew-catalogue,.crew-achievements{color:var(--crew-ink);padding:20px 0}.crew-catalogue h3,.crew-achievements h3{font-size:clamp(25px,3vw,36px);letter-spacing:-.035em;margin:10px 0}.crew-catalogue>header>p,.crew-achievements>header>p{max-width:760px;color:var(--crew-muted);font-size:14px;line-height:1.7}
.crew-group-filters{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.crew-group-filters button{border:1px solid var(--crew-line);padding:9px 13px;border-radius:30px;color:var(--crew-ink);background:var(--crew-surface);font-size:12px;cursor:pointer}.crew-group-filters button[aria-pressed="true"]{background:#173f31;color:white}
.crew-catalogue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:15px}.crew-profile{border:1px solid var(--crew-line);background:var(--crew-surface);border-radius:17px;padding:22px;display:flex;flex-direction:column;align-items:flex-start}.crew-profile .crew-avatar{width:75px;height:75px;margin-bottom:12px}.crew-profile h4{font-size:18px;margin:12px 0 5px}.crew-profile>b{font-size:11px;color:var(--crew-muted)}.crew-profile p{font-size:12px;line-height:1.65;flex:1}.crew-profile .crew-link{margin-top:10px}
.crew-dialog{background:var(--crew-surface);color:var(--crew-ink);border:1px solid var(--crew-line);border-radius:20px;padding:30px;width:min(390px,calc(100vw - 60px));box-sizing:border-box}.crew-dialog::backdrop{background:#061d1780}.crew-dialog>.crew-avatar{width:100px;height:100px;display:block;margin-bottom:15px}.crew-dialog h3{font-size:25px}.crew-dialog p{font-size:13px;line-height:1.7}.crew-dialog-close{float:right;background:transparent;border:0;font-size:28px;color:var(--crew-ink);cursor:pointer}
.crew-result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:25px}.crew-result{background:var(--crew-surface);border:1px solid var(--crew-line);border-radius:17px;padding:22px}.crew-result-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.crew-result-head>b{font-size:22px}.crew-result-head>strong{margin-left:auto;font-size:24px}.crew-result>p,.crew-result>small{color:var(--crew-muted);font-size:12px;line-height:1.65}.crew-result dl{display:flex;flex-wrap:wrap;gap:20px;margin:20px 0}.crew-result dt{color:var(--crew-muted);font-size:11px}.crew-result dd{font-weight:700;font-size:17px;margin:5px 0}.crew-result .crew-result-note{border-top:1px solid var(--crew-line);padding-top:15px}.crew-result-note>b{display:block;color:var(--crew-ink);margin-bottom:7px}.crew-result>a,.crew-achievements a{color:var(--crew-ink);font-weight:700;font-size:12px}.crew-positive{color:#138364}.crew-negative{color:var(--crew-red)}
:root[data-theme="dark"] .crew-positive{color:#72d5ac}
.crew-date-warning{color:var(--crew-red);font-weight:700;font-size:12px}
.st-side .crew-face-stack,.st-sheet .crew-face-stack{display:none}.st-side .crew-note,.st-sheet .crew-note{padding:12px 10px}.st-side .crew-note>.crew-avatar,.st-sheet .crew-note>.crew-avatar{width:34px;height:34px}.st-side .crew-note-reply,.st-sheet .crew-note-reply{margin-left:10px}
:is(.crew-panel,.crew-catalogue,.crew-box,.crew-achievements) button:focus-visible,:is(.crew-panel,.crew-catalogue) summary:focus-visible{outline:3px solid #6b9e75;outline-offset:3px}
@media(min-width:1400px){#stream .st-grid{grid-template-columns:minmax(0,1fr) 330px}}
@media(max-width:1000px){#stream .st-grid{grid-template-columns:minmax(0,1fr)}#stream .crew-box .crew-sidebar-list{display:flex;gap:16px;overflow-x:auto}#stream .crew-sidebar-list>button{min-width:165px;border-bottom:0}#stream .crew-box h3 br{display:none}#stream .crew-box{order:-1}#stream .st-aside{display:grid;grid-template-columns:minmax(0,1fr)}#stream .st-main-sec{padding:15px}}
@media(max-width:600px){#stream .st-wrap{padding:15px 10px 30px}#stream .st-main-sec{padding:12px;border-radius:16px}#stream .st-post{padding:18px 0;gap:9px}#stream .st-post>.st-ava{width:32px;height:32px}#stream .st-post .st-title{font-size:17px}#stream .st-tabs button{padding:9px 12px;font-size:12px}.crew-note{gap:9px;padding:14px 10px}.crew-note>.crew-avatar{width:36px;height:36px}.crew-note-reply{margin-left:12px}.crew-note p{font-size:12px}.crew-face-stack{display:none}.crew-impact{padding:12px;gap:8px}.crew-impact b{font-size:13px}.crew-impact p{font-size:11px}.crew-discussion>summary{padding:12px}.crew-participate{display:block}.crew-participate button{margin-top:10px}.crew-result-list{grid-template-columns:minmax(0,1fr)}.crew-catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.crew-profile{padding:14px}.crew-profile h4{font-size:16px}.crew-profile .crew-avatar{width:64px;height:64px}.crew-profile p{font-size:11px}.crew-group-filters{gap:6px}.crew-group-filters button{font-size:11px;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){#stream *, .crew-panel *{scroll-behavior:auto;transition:none}}
