/* The /solutions pages (scripts/solution-page.mjs). Builds on bridge-page.css (the real desktop window, chat lines,
   role tabs, tiles, path diagram); only what is particular to these pages lives here. */
.sp .button.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.sp .ip-hero .ip-actions{margin-top:28px}
.sp .ip-hero .ip-specs{margin-top:16px}
.sp .ip-hero.sp-hero{align-items:center}

/* The day at the practice: Bridge jobs appearing in turn (the menu cards' 18 s loop, bridge-menu.css). */
.sp-day{justify-self:end;width:100%;max-width:470px;border:1px solid var(--line);border-radius:24px;background:var(--bg);overflow:hidden}
.sp-day-top{display:flex;align-items:center;gap:8px;margin:0;padding:14px 20px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.sp-day-top i{width:7px;height:7px;border-radius:50%;background:var(--bx-accent)}
.sp-day ol{margin:0;padding:6px 20px 12px;list-style:none;display:grid}
.sp-day li{max-width:none;display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;padding:14px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.45}
.sp-day li:first-child{border-top:0}
.sp-day time{color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums;padding-top:1px}
.sp-day li div{display:grid;gap:2px;min-width:0}
.sp-day b{font-weight:500;font-size:13px}
.sp-day span{color:var(--fg)}
.sp-day em{justify-self:start;margin-top:6px;padding:3px 9px;border:1px solid var(--line);border-radius:999px;font-style:normal;font-size:12px;color:var(--muted)}

.sp-stage{padding-top:72px}

/* Tiles: six, three to a row */
.sp .sp-tools .vp-tile{grid-column:span 2}
.sp-phone-crop{display:block;width:100%;max-width:330px;align-self:center;aspect-ratio:1306/1100;overflow:hidden}
.sp-phone-crop img{display:block;width:100%;height:auto;margin-top:-82%}
.sp-orb{width:150px;aspect-ratio:1;align-self:center}
.sp-orb .portal-orb{width:100%;height:100%;-webkit-mask-image:radial-gradient(closest-side,#000 calc(100% - 2px),transparent);mask-image:radial-gradient(closest-side,#000 calc(100% - 2px),transparent)}
.sp-said{align-self:center;margin:6px 0 24px;font-size:14px;color:var(--muted)}
.sp-image{display:block;align-self:center;width:62%;margin-bottom:28px}
.sp-image img{display:block;width:100%;height:auto;border-radius:14px}
.sp-spec{display:grid;gap:0;padding:16px 18px}
.sp-spec p{margin:0;font-size:20px;font-weight:450;letter-spacing:-.02em}
.sp-spec small{color:var(--muted);font-size:12px;margin-bottom:8px}
.sp-spec div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:13px}
.sp-spec div span{color:var(--muted)}
.sp-spec div b{font-weight:500}

/* Practice knowledge */
.sp-know{padding-block:96px 0}
.sp-know-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:72px;align-items:center}
.sp-points{margin:28px 0 0;padding:0;list-style:none;display:grid;gap:10px;font-size:15px}
.sp-points li{display:flex;gap:10px;align-items:center}
.sp-ask{position:relative;container-type:inline-size;--u:calc(100cqw / 700);--bx-ink:var(--fg);--bx-dim:var(--muted);--bx-bubble:var(--surface2);--bx-edge:var(--line);height:460px;border:1px solid var(--line);border-radius:22px;background:var(--bg);overflow:hidden}
.sp-ask-top{display:flex;align-items:center;gap:8px;margin:0;padding:14px 20px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.sp-ask-top i{width:7px;height:7px;border-radius:50%;background:var(--bx-accent)}
.sp-ask .bx-chat{top:49px}

/* Team wiki and dashboard */
.sp-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:72px}
.sp-team-tile{display:flex;flex-direction:column;min-width:0;padding:30px 30px 0;border:1px solid var(--line);border-radius:var(--radius,22px);background:var(--surface);overflow:hidden}
.sp-team-tile h3{margin:0;font-size:22px;font-weight:500;letter-spacing:-.02em}
.sp-team-tile>p{margin:12px 0 0;max-width:440px;font-size:15px;line-height:1.5;color:var(--muted)}
.sp-team-art{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding-top:26px;font-size:13px}
.sp-wiki,.sp-board{padding:0;container-type:inline-size}
.sp-t-wiki .sp-wiki{flex:1;display:flex;flex-direction:column}
.sp-wiki .sp-wiki-body{flex:1}
.sp .sp-wiki-note{display:flex;align-items:center;gap:8px;margin-top:14px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--bx-accent) 10%,transparent);font-size:11.5px;color:var(--fg)}
.sp-wiki-note i{width:6px;height:6px;flex:none;border-radius:50%;background:var(--bx-accent)}
.sp-wiki-top,.sp-board-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.sp-people{display:flex;align-items:center}
.sp-people i{display:grid;place-items:center;width:22px;height:22px;margin-left:-5px;border:2px solid var(--bg);border-radius:50%;background:var(--surface2,var(--surface));color:var(--fg);font-size:8.5px;font-style:normal;font-weight:600;letter-spacing:.02em}
.sp-people i:first-child{margin-left:0;box-shadow:0 0 0 1.5px var(--bx-accent)}
.sp-people small{margin-left:8px;font-size:11.5px}
.sp-wiki-body{display:grid;grid-template-columns:150px minmax(0,1fr);min-height:248px}
.sp-wiki-tree{margin:0;padding:12px 10px;list-style:none;border-right:1px solid var(--line);font-size:12px}
.sp-wiki-tree>li+li{margin-top:10px}
.sp-wiki-tree b{display:block;padding:0 6px 4px;font-weight:500;font-size:11.5px;color:var(--muted)}
.sp-wiki-tree ul{margin:0;padding:0;list-style:none}
.sp-wiki-tree ul li{padding:4px 6px 4px 14px;border-radius:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-wiki-tree li.is-open{background:var(--surface);font-weight:500}
.sp-wiki-page{padding:16px 18px 18px;min-width:0}
.sp-wiki-page h4{margin:0;font-size:17px;font-weight:500;letter-spacing:-.01em}
.sp .sp-wiki-meta{margin:3px 0 10px;font-size:11.5px;color:var(--muted)}
.sp-wiki-page h5{margin:12px 0 4px;font-size:12.5px;font-weight:600}
.sp-wiki-page p{margin:0;font-size:12.5px;line-height:1.55}
.sp-wiki-li{position:relative;padding-left:14px}
.sp-wiki-li::before{content:'';position:absolute;left:3px;top:.68em;width:4px;height:4px;border-radius:50%;background:var(--muted)}
.sp-board-top span:first-child{display:flex;flex-direction:column;gap:1px}
.sp-board-top b{font-weight:500;font-size:13px;color:var(--fg)}
.sp-board-top small{font-size:11.5px}
.sp-live{display:flex;align-items:center;gap:6px;font-size:11.5px}
.sp-live i{width:6px;height:6px;border-radius:50%;background:var(--bx-accent);animation:sp-live 2.4s ease-in-out infinite}
@keyframes sp-live{50%{opacity:.35}}
.sp-board-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line)}
.sp .sp-board-stats p{display:flex;flex-direction:column;gap:2px;margin:0;padding:12px 16px}
.sp-board-stats p+p{border-left:1px solid var(--line)}
.sp-board-stats b{font-size:22px;font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.sp-board-stats span{font-size:11.5px;line-height:1.3;color:var(--muted)}
.sp .sp-board-teams{display:flex;gap:6px;margin:0;padding:10px 16px 4px;font-size:11.5px}
.sp-board-teams span{padding:3px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}
.sp-board-teams span.is-on{border-color:var(--fg);color:var(--fg)}
.sp-board-rows{margin:0;padding:0 16px;list-style:none}
.sp-board-rows li{display:grid;grid-template-columns:40px minmax(0,1fr) auto minmax(64px,auto);gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:12.5px}
.sp-board-rows li:first-child{border-top:0}
.sp-board-rows time{white-space:nowrap;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.sp-board-rows li>div{display:flex;flex-direction:column;min-width:0}
.sp-board-rows b{font-weight:500}
.sp-board-rows small{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-board-rows em{font-style:normal;font-size:11px;color:var(--muted)}
.sp-status{position:relative;justify-self:end;display:inline-grid;font-size:11px;font-weight:500}
.sp-status i,.sp-status:not(.sp-flip){padding:2px 8px;border-radius:999px;background:var(--surface);font-style:normal;text-align:center;white-space:nowrap}
.sp-status.is-done,.sp-status i.is-done{background:color-mix(in srgb,var(--bx-accent) 16%,transparent)}
.sp-flip i{grid-area:1/1}
.sp-flip i:first-child{animation:sp-flip-out 9s ease infinite}
.sp-flip i.is-done{animation:sp-flip-in 9s ease infinite}
@keyframes sp-flip-out{0%,40%{opacity:1}46%,94%{opacity:0}100%{opacity:1}}
@keyframes sp-flip-in{0%,40%{opacity:0}46%,94%{opacity:1}100%{opacity:0}}
.sp .sp-board-foot{display:flex;align-items:center;gap:8px;margin:0;padding:10px 16px 18px;border-top:1px solid var(--line);font-size:12px}
.sp-board-foot svg{color:var(--bx-accent)}
@container (max-width:440px){
 .sp-wiki-body{grid-template-columns:minmax(0,1fr)}
 .sp-wiki-tree{display:none}
 .sp-people small{display:none}
 .sp-board-rows li{grid-template-columns:40px minmax(0,1fr) minmax(62px,auto)}
 .sp-board-rows em{display:none}
}
@media(prefers-reduced-motion:reduce){.sp-live i,.sp-flip i{animation:none}.sp-flip i:first-child{opacity:0}}

@media(max-width:1023px){
 .sp-day{justify-self:stretch;max-width:none}
 .sp-know-row{grid-template-columns:minmax(0,1fr);gap:44px}
 .sp-team{grid-template-columns:minmax(0,1fr);margin-top:56px}
 .sp .sp-tools .vp-tile{grid-column:span 1}
 .sp .ip-hero .ip-specs{margin-bottom:12px}
}
@media(max-width:760px){
 .sp-know{padding-top:64px}
 .sp .sp-tools .vp-tile{grid-column:auto}
 .sp-team-tile{padding:24px 24px 0}
 .sp-ask{height:420px;--u:calc(100cqw / 420)}
}
