/* /app/app/static/work/coappearance-graph.css */
#coappearance-main{max-width:1560px;margin:0 auto;padding:28px clamp(12px,2.3vw,32px) 120px;color:#f7f6ff;font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN",sans-serif}
body{background:#080b16;color:#f7f6ff}#coappearance-main *{box-sizing:border-box}#coappearance-main button,#coappearance-main input{font:inherit}
.co-top{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;flex-wrap:wrap}.co-top h1{font-size:clamp(27px,3.1vw,45px);margin:0 0 4px;letter-spacing:-.035em;line-height:1.2}.co-sub{margin:0;font-size:14px;color:#bac1d8}.co-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.co-search{position:relative;width:min(310px,58vw)}.co-search label{display:block;color:#d0c9ea;font-size:12px;margin-bottom:5px}.co-search input{width:100%;height:47px;border:1px solid #525676;border-radius:13px;background:#171b30;color:#fff;padding:0 13px;outline:none}.co-search input:focus{border-color:#c38aff}.co-random{height:47px;border:1px solid #6a507e;background:#26213b;color:#f8e9fc;border-radius:13px;padding:0 16px;cursor:pointer}.co-results{position:absolute;top:100%;left:0;right:0;z-index:20;max-height:340px;overflow:auto;background:#202138;border:1px solid #72608c;border-radius:12px;margin-top:5px;box-shadow:0 12px 35px #000b}.co-results button{width:100%;padding:10px 12px;display:flex;align-items:center;gap:10px;color:#fff;text-align:left;border:0;background:transparent;cursor:pointer}.co-results button:hover,.co-results button:focus{background:#3e3154}.co-results img{width:36px;height:36px;border-radius:50%;object-fit:cover}.co-status{font-size:12px;color:#c5c0d6;min-height:17px;margin-bottom:7px}.co-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.85fr);gap:14px;min-height:610px}.co-canvas{height:min(76vh,850px);min-height:570px;position:relative;overflow:hidden;touch-action:pan-x pan-y;background:radial-gradient(ellipse at center,#242448 0%,#121c36 54%,#0b1121 100%);border:1px solid #414267;border-radius:21px}.co-canvas svg{width:100%;height:100%;display:block;touch-action:none;user-select:none}.co-panel{position:relative;min-height:360px;padding:24px;background:#161a2c;border:1px solid #373957;border-radius:21px;overflow:auto;max-height:850px}.co-panel h2{font-size:23px;margin:0 0 9px}.co-panel h3{font-size:15px;margin:22px 0 12px}.co-hint,.co-muted{font-size:13px;color:#c4c7df}.co-close{display:none}.co-stat{margin:13px 0;color:#eed5f9;font-size:13px}.co-works{display:grid;gap:10px}.co-work{display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;padding:10px;text-decoration:none;color:#f8f7ff;background:#252840;border:1px solid #45465f;border-radius:13px}.co-work:hover{border-color:#bb91f0}.co-work img{width:82px;height:115px;object-fit:contain;background:#101522;border-radius:7px}.co-work-title{font-size:13px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.co-work small{display:block;margin-top:7px;font-size:11px;color:#c5c8db}.co-person{display:flex;align-items:center;gap:12px}.co-person img{width:66px;height:66px;border-radius:50%;object-fit:cover}.co-related{display:grid;gap:6px;margin-top:13px}.co-related button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;background:#292b45;color:white;text-align:left;border:1px solid #454764;border-radius:11px;cursor:pointer}.co-related span{font-size:12px;color:#c5b8dc}.co-recenter{width:100%;border:0;border-radius:12px;background:#675099;color:white;margin:12px 0 4px;padding:12px;cursor:pointer}.co-loading{position:absolute;inset:0;z-index:8;display:flex;gap:14px;align-items:center;justify-content:center;background:#10152ddc;color:#fff;font-size:14px}.co-loading[hidden]{display:none}.co-spinner{height:30px;width:30px;border:3px solid #61647d;border-top-color:#e8a5ec;border-radius:50%;animation:coSpin .75s linear infinite}@keyframes coSpin{to{transform:rotate(360deg)}}.node{cursor:pointer;outline:none}.node:focus-visible .ring{stroke:#fff;stroke-width:5}.edge{cursor:pointer}.edge-hit{stroke:transparent;stroke-width:17}.edge.selected .edge-visible{stroke:#f7b2fa!important;stroke-opacity:1!important}.edge.dim .edge-visible{stroke-opacity:.1!important}.node.dim{opacity:.45}.co-label{font-family:inherit;font-size:16px;font-weight:700;fill:#fff;stroke:#0b1022;stroke-width:4;paint-order:stroke;stroke-linejoin:round;pointer-events:none}
@media(max-width:790px){#coappearance-main{padding:14px 9px 85px}.co-top h1{font-size:27px}.co-top{gap:12px}.co-actions{width:100%}.co-search{flex:1;width:auto}.co-random{font-size:12px;padding:0 10px}.co-layout{display:block;min-height:0}.co-canvas{height:calc(100dvh - 235px);min-height:440px;border-radius:15px}.co-panel{position:fixed;z-index:110;left:0;right:0;bottom:0;max-height:75dvh;min-height:0;overflow-y:auto;border-radius:20px 20px 0 0;transform:translateY(105%);transition:transform .2s;padding-bottom:calc(28px + env(safe-area-inset-bottom));box-shadow:0 -18px 60px #000b}.co-panel.open{transform:translateY(0)}.co-close{display:block;float:right;background:#33344b;color:#fff;border:0;border-radius:10px;padding:6px 12px;font-size:20px}.co-work{grid-template-columns:92px minmax(0,1fr)}.co-work img{width:92px;height:125px}}
@media(prefers-reduced-motion:reduce){.co-panel{transition:none}.co-spinner{animation-duration:1.5s}}

/* R883-09M-02 */
.co-actress-link{display:inline-flex;align-items:center;gap:14px;min-width:0;color:#fff;text-decoration:none;font-weight:800;font-size:22px}
.co-actress-link:hover{text-decoration:underline}
.co-actress-link img{width:58px;height:58px;object-fit:cover;border-radius:50%}
.co-related-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;background:#292b45;border:1px solid #454764;border-radius:11px}
.co-related-item .co-actress-link{font-size:16px;flex:1}
.co-related-count{color:#c5b8dc;font-size:12px;white-space:nowrap}
.co-evidence-button{white-space:nowrap;font-size:12px;padding:7px 9px}
@media(max-width:790px){
.co-canvas{height:400px;min-height:400px}
.co-related-item{flex-wrap:wrap}
.co-related-item .co-actress-link{flex-basis:100%}
}

/* R884-03D: actress network button beside heading */
.co-person{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.co-person .co-actress-link{flex:1 1 auto}
.co-person .co-recenter{width:auto;flex:0 1 auto;margin:0;padding:10px 13px;font-size:12px;font-weight:650;line-height:1.4;text-align:center}
@media(max-width:480px){
.co-person .co-recenter{margin-left:auto}
}
