/* Placement Registry consumes sota.design-system.v1 tokens; it defines no palette. */
.pr-shell{display:grid;gap:var(--sota-space-4,16px);color:var(--sota-color-text-primary)}
.pr-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sota-space-3,12px);padding:var(--sota-space-3,12px) var(--sota-space-4,16px);border-radius:var(--sota-radius-xl,20px)}
.pr-header h2,.pr-deep-card h2,.pr-proposals h2,.pr-editor h2{margin:.2rem 0;font-family:var(--sota-font-display,Fraunces,serif)}
.pr-header p,.pr-proposals p{margin:0;color:var(--sota-color-text-secondary)}
.pr-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--sota-space-2,8px);align-items:start}
.pr-data-meta{grid-column:1/-1;color:var(--sota-color-text-subtle)}
.pr-data-meta summary{width:max-content;cursor:pointer;font-size:.72rem}.pr-data-meta small{display:block;margin-top:var(--sota-space-2,8px);font-family:var(--sota-font-data,monospace)}
.pr-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto;gap:var(--sota-space-3,12px);padding:var(--sota-space-3,12px);align-items:end}
.pr-search{min-width:0}.pr-mode{display:flex;gap:var(--sota-space-2,8px);justify-content:flex-end}
.pr-active-filters{grid-column:1/-1;display:flex;gap:var(--sota-space-2,8px);align-items:center;flex-wrap:wrap;min-height:24px}.pr-no-filters{color:var(--sota-color-text-subtle);font-size:.72rem}
.pr-active-filters>.sota-status{cursor:pointer;font:inherit}
.pr-view-builder{border:1px solid var(--sota-color-border-subtle);border-radius:var(--sota-radius-lg,16px);background:var(--sota-color-surface-default)}
.pr-view-builder>summary{padding:var(--sota-space-4,16px);cursor:pointer;font-weight:700}
.pr-view-builder>.sota-panel{display:grid;gap:var(--sota-space-4,16px);border:0;border-top:1px solid var(--sota-color-border-subtle);border-radius:0 0 var(--sota-radius-lg,16px) var(--sota-radius-lg,16px)}
.pr-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sota-space-3,12px)}
.pr-builder-note{margin:0;color:var(--sota-color-text-secondary);font-size:.8rem}
.pr-dimension-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sota-space-2,8px)}
.pr-dimension-row{display:flex;justify-content:space-between;gap:var(--sota-space-3,12px);align-items:center;padding:var(--sota-space-3,12px);border:1px solid var(--sota-color-border-subtle);border-radius:var(--sota-radius-md,12px);background:var(--sota-color-surface-interactive)}
.pr-dimension-row>label{display:flex;gap:var(--sota-space-2,8px);align-items:start;min-width:0}
.pr-dimension-row>label>span{display:grid;gap:2px;margin:0;text-transform:none}
.pr-dimension-row strong,.pr-dimension-row code,.pr-dimension-row small{overflow-wrap:anywhere}
.pr-dimension-row code{color:var(--sota-color-action-link)}
.pr-dimension-row small{color:var(--sota-color-text-subtle)}
.pr-dimension-row>div,.pr-builder-actions,.pr-pins,.pr-node-actions,.pr-badges{display:flex;gap:var(--sota-space-2,8px);flex-wrap:wrap;align-items:center}
.pr-dimension-row button{min-width:34px;padding:0}
.pr-pins{padding-top:var(--sota-space-3,12px);border-top:1px solid var(--sota-color-border-subtle)}
.pr-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sota-space-2,8px)}
.pr-summary>div{display:grid;gap:2px;padding:var(--sota-space-4,16px)}
.pr-summary strong{font:700 1.4rem/1 var(--sota-font-data,monospace)}
.pr-summary span{color:var(--sota-color-text-secondary);font-size:.75rem}
.pr-guide{position:fixed;z-index:75;top:72px;left:50%;display:grid;grid-template-columns:1fr 1fr;gap:var(--sota-space-6,24px);width:min(920px,calc(100vw - 24px));max-height:calc(100vh - 96px);overflow:auto;padding:var(--sota-space-5,20px);border:1px solid var(--sota-color-border-subtle);border-radius:var(--sota-radius-xl,20px);background:var(--sota-color-surface-modal);box-shadow:var(--sota-shadow-modal);transform:translateX(-50%);backdrop-filter:blur(var(--sota-blur-modal,24px))}.pr-guide-close{position:absolute;top:10px;right:10px;min-width:36px;padding:0}
.pr-guide h3{margin:.2rem 0 var(--sota-space-2,8px)}.pr-guide ol{display:grid;gap:6px;margin:0;padding-left:1.25rem;color:var(--sota-color-text-secondary);font-size:.8rem}
.pr-legend{display:grid;gap:6px;margin:0;padding:0;list-style:none;color:var(--sota-color-text-secondary);font-size:.8rem}.pr-legend li{display:flex;gap:8px;align-items:center}.pr-legend i{flex:0 0 12px;width:12px;height:12px;border-radius:50%;background:var(--sota-chart-1)}.pr-legend .pr-legend-root{background:var(--sota-chart-2)}.pr-legend .pr-legend-entity{background:var(--sota-chart-3)}.pr-legend .pr-legend-selected{box-shadow:0 0 0 3px var(--sota-color-action-link)}
.pr-breadcrumbs{display:flex;gap:var(--sota-space-2,8px);align-items:center;overflow-x:auto;padding:2px 0;white-space:nowrap}
.pr-breadcrumbs span{color:var(--sota-color-text-subtle)}
.pr-content{min-width:0}
.pr-branch-nav{display:flex;gap:var(--sota-space-3,12px);align-items:center;margin-bottom:var(--sota-space-2,8px);padding:var(--sota-space-2,8px) var(--sota-space-3,12px);border:1px solid var(--sota-color-border-subtle);border-radius:var(--sota-radius-lg,16px);background:var(--sota-color-surface-default)}
.pr-branch-nav>strong{flex:0 0 auto;font-size:.74rem}.pr-branch-nav>div{display:flex;gap:var(--sota-space-2,8px);overflow-x:auto;padding-bottom:2px}.pr-branch-nav button{flex:0 0 auto}.pr-branch-nav small{margin-left:4px}
.pr-graph-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--sota-space-3,12px);min-width:0}
.pr-graph-canvas{position:relative;height:clamp(560px,68vh,780px);min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--sota-color-border-subtle) 58%,transparent);border-radius:var(--sota-radius-xl,20px);background:transparent;background-image:radial-gradient(circle,color-mix(in srgb,var(--sota-color-text-subtle) 16%,transparent) 1px,transparent 1.4px);background-size:25px 25px;cursor:grab;touch-action:none;user-select:none}
.pr-graph-canvas:active{cursor:grabbing}
.pr-graph-canvas:focus-visible{outline:3px solid var(--sota-color-action-link);outline-offset:2px}
.pr-graph-stage{position:absolute;inset:0 auto auto 0;transform-origin:0 0;will-change:transform}
.pr-graph-edges{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.pr-graph-edges line{stroke:var(--sota-color-text-subtle);stroke-width:2;opacity:1;vector-effect:non-scaling-stroke}
.pr-graph-edges line.connected,.pr-graph-edges line.selected-path{stroke:var(--sota-color-action-link);stroke-width:3.2;opacity:1}
.pr-graph-node{--pr-node:var(--sota-chart-1);position:absolute;z-index:2;display:grid;grid-template-columns:12px minmax(0,auto) 28px;grid-template-rows:auto auto;column-gap:7px;width:max-content;max-width:230px;min-height:44px;padding:7px 9px;border:1px solid color-mix(in srgb,var(--pr-node) 65%,transparent);border-radius:var(--sota-radius-md,12px);background:var(--sota-color-surface-interactive);color:var(--sota-color-text-primary);text-align:left;box-shadow:var(--sota-shadow-surface);transform:translate(-50%,-50%);cursor:pointer;backdrop-filter:blur(var(--sota-blur-surface,14px));touch-action:none}
.pr-graph-node.entity{--pr-node:var(--sota-chart-3)}
.pr-graph-node.context{--pr-node:var(--sota-chart-2);z-index:3;padding:11px 14px}
.pr-graph-node:hover,.pr-graph-node:focus-visible,.pr-graph-node.connected,.pr-graph-node.selected{z-index:4;background:var(--sota-color-selection-bg);color:var(--sota-color-selection-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--pr-node) 24%,transparent),var(--sota-shadow-elevated)}
.pr-graph-node i{grid-row:1/3;align-self:center;width:10px;height:10px;border-radius:50%;background:var(--pr-node);box-shadow:0 0 13px color-mix(in srgb,var(--pr-node) 65%,transparent)}
.pr-graph-node strong,.pr-graph-node small{grid-column:2;min-width:0;overflow-wrap:anywhere}
.pr-graph-node strong{display:-webkit-box;overflow:hidden;font-size:.82rem;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pr-graph-node strong em{margin-right:5px;color:var(--pr-node);font-style:normal}
.pr-graph-node small{color:var(--sota-color-text-subtle);font:500 .67rem var(--sota-font-data,monospace)}
.pr-node-toggle{grid-column:3;grid-row:1/3;align-self:center;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--sota-color-border-subtle);border-radius:50%;background:var(--sota-color-surface-elevated);font-size:1rem}.pr-graph-node.expanded .pr-node-toggle{background:var(--sota-color-selection-bg);color:var(--sota-color-selection-text)}
.pr-graph-stage.is-overview .pr-graph-node{width:20px;min-width:20px;max-width:20px;height:20px;min-height:20px;padding:0;border-radius:50%;transform:translate(-50%,-50%) scale(var(--pr-counter-scale,1))}.pr-graph-stage.is-overview .pr-graph-node strong,.pr-graph-stage.is-overview .pr-graph-node small,.pr-graph-stage.is-overview .pr-node-toggle{display:none}.pr-graph-stage.is-overview .pr-graph-node i{grid-column:1;grid-row:1;width:12px;height:12px;justify-self:center}
.pr-graph-node.status-multiple_active{border-style:double;border-width:3px}.pr-graph-node.status-unlinked{border-style:dashed}.pr-graph-node.status-archived{opacity:.72}
.pr-graph-controls{position:absolute;z-index:8;top:var(--sota-space-3,12px);left:var(--sota-space-3,12px);display:flex;gap:4px;padding:4px;border:1px solid var(--sota-color-border-subtle);border-radius:var(--sota-radius-md,12px);background:var(--sota-color-surface-elevated);backdrop-filter:blur(var(--sota-blur-surface,14px))}
.pr-graph-controls button{min-width:34px;padding:0}
.pr-graph-mini-legend{position:absolute;z-index:7;right:var(--sota-space-3,12px);top:var(--sota-space-3,12px);display:flex;gap:var(--sota-space-2,8px);flex-wrap:wrap;max-width:50%;padding:6px 9px;border:1px solid var(--sota-color-border-subtle);border-radius:var(--sota-radius-md,12px);background:var(--sota-color-surface-elevated);font-size:.67rem;backdrop-filter:blur(var(--sota-blur-surface,14px))}
.pr-graph-help{position:absolute;right:var(--sota-space-3,12px);bottom:var(--sota-space-3,12px);padding:var(--sota-space-2,8px) var(--sota-space-3,12px);border:1px solid var(--sota-color-border-subtle);border-radius:var(--sota-radius-md,12px);background:var(--sota-color-surface-elevated);color:var(--sota-color-text-subtle);font-size:.65rem;backdrop-filter:blur(var(--sota-blur-surface,14px));pointer-events:none}
.pr-node-panel{position:relative;align-self:start;display:grid;gap:var(--sota-space-3,12px);padding:var(--sota-space-5,20px);border-radius:var(--sota-radius-lg,16px);backdrop-filter:blur(var(--sota-blur-surface,14px))}.pr-panel-close{position:absolute;top:8px;right:8px;min-width:34px;padding:0}
.pr-node-panel h3{margin:0}.pr-node-panel p{color:var(--sota-color-text-secondary);overflow-wrap:anywhere}
.pr-node-panel dl,.pr-detail-grid{display:grid;gap:0;margin:0}
.pr-node-panel dl>div,.pr-detail-grid>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:var(--sota-space-2,8px);padding:var(--sota-space-2,8px) 0;border-top:1px solid var(--sota-color-border-subtle)}
.pr-node-panel dd,.pr-detail-grid dd{min-width:0;margin:0;overflow-wrap:anywhere}
.pr-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sota-space-3,12px)}
.pr-card{display:grid;align-content:start;gap:var(--sota-space-3,12px);min-width:0;padding:var(--sota-space-5,20px);cursor:default}
.pr-card>header{display:flex;justify-content:space-between;gap:var(--sota-space-2,8px);align-items:start}
.pr-card h3,.pr-card p{margin:0;overflow-wrap:anywhere}
.pr-card p{color:var(--sota-color-text-secondary)}
.pr-card code{display:block;color:var(--sota-color-action-link);font-size:.62rem;overflow-wrap:anywhere}
.pr-card-facts{display:flex;gap:var(--sota-space-2,8px);flex-wrap:wrap;color:var(--sota-color-text-secondary);font-size:.7rem}
.pr-card>footer{display:flex;gap:var(--sota-space-2,8px);margin:0;padding:var(--sota-space-3,12px) 0 0;border-top:1px solid var(--sota-color-border-subtle)}
.pr-table-tools{display:flex;gap:var(--sota-space-3,12px);align-items:end;margin-bottom:var(--sota-space-3,12px)}
.pr-table-tools>.sota-field{min-width:220px}.pr-table-tools details{margin-left:auto}
.pr-column-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sota-space-2,8px);padding:var(--sota-space-3,12px);background:var(--sota-color-surface-elevated)}
.pr-table-tools+.sota-table-wrap{max-height:68vh;overflow:auto}
.pr-table-tools+.sota-table-wrap thead{position:sticky;top:0;z-index:2;background:var(--sota-color-bg-surface-solid)}
.pr-table-tools+.sota-table-wrap tbody tr{cursor:pointer}
.pr-table-tools+.sota-table-wrap tbody tr:hover,.pr-table-tools+.sota-table-wrap tbody tr:focus-within{background:var(--sota-color-selection-bg)}
.pr-table-tools+.sota-table-wrap tbody button:focus-visible{outline:3px solid var(--sota-color-action-link);outline-offset:2px}
.pr-table-tools+.sota-table-wrap td code{display:block;color:var(--sota-color-action-link);font-size:.62rem}
.pr-row-open{display:grid;justify-items:start;width:100%;border-color:transparent;background:transparent;color:inherit;text-align:left}
.pr-pagination{display:flex;justify-content:center;gap:var(--sota-space-3,12px);align-items:center;margin-top:var(--sota-space-3,12px)}
.pr-modal{width:min(960px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:0;border:0;background:transparent;color:var(--sota-color-text-primary)}
.pr-modal::backdrop{background:color-mix(in srgb,var(--sota-color-bg-canvas) 72%,transparent);backdrop-filter:blur(4px)}
.pr-modal>.sota-modal-panel{max-height:calc(100vh - 24px);overflow:auto;padding:var(--sota-space-6,24px);border:1px solid var(--sota-color-border-subtle);border-radius:var(--sota-radius-xl,20px);background:var(--sota-color-surface-modal);box-shadow:var(--sota-shadow-modal);backdrop-filter:blur(var(--sota-blur-modal,24px))}
.pr-editor,.pr-deep-card,.pr-proposals{display:grid;gap:var(--sota-space-4,16px)}
.pr-editor>header,.pr-deep-card>header,.pr-proposals>header{display:flex;justify-content:space-between;gap:var(--sota-space-4,16px);align-items:start}
.pr-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sota-space-3,12px)}
.pr-wide{grid-column:1/-1}
.pr-editor textarea{min-height:100px}
.pr-editor>footer,.pr-deep-card>footer{display:flex;justify-content:flex-end;gap:var(--sota-space-2,8px);flex-wrap:wrap;margin:0;padding:var(--sota-space-4,16px) 0 0;border-top:1px solid var(--sota-color-border-subtle)}
.pr-impact{padding:var(--sota-space-4,16px);border:1px solid var(--sota-color-state-warning-text);border-radius:var(--sota-radius-md,12px);background:var(--sota-color-state-warning-bg);color:var(--sota-color-state-warning-text)}
.pr-impact p{margin:.3rem 0}
.pr-deep-card>p{color:var(--sota-color-text-secondary)}
.pr-deep-card section{padding-top:var(--sota-space-3,12px);border-top:1px solid var(--sota-color-border-subtle)}
.pr-deep-card section h3{margin:0 0 var(--sota-space-3,12px)}
.pr-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--sota-space-5,20px)}
.pr-link-row{display:grid;gap:var(--sota-space-2,8px);margin-top:var(--sota-space-2,8px);padding:var(--sota-space-3,12px);border:1px solid var(--sota-color-border-subtle);border-radius:var(--sota-radius-md,12px);background:var(--sota-color-surface-interactive)}
.pr-link-row header{display:flex;justify-content:space-between;gap:var(--sota-space-2,8px)}
.pr-link-row a{color:var(--sota-color-action-link);overflow-wrap:anywhere}
.pr-link-row small{color:var(--sota-color-text-subtle)}
.pr-history{display:grid;gap:var(--sota-space-2,8px);margin:var(--sota-space-3,12px) 0 0;padding-left:1.5rem}
.pr-history li{padding:var(--sota-space-2,8px);border-bottom:1px solid var(--sota-color-border-subtle)}
.pr-history strong,.pr-history span{display:block}.pr-history span{color:var(--sota-color-text-subtle);font-size:.7rem}
.pr-proposal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sota-space-3,12px)}
.pr-proposal-list article{display:grid;gap:var(--sota-space-3,12px);padding:var(--sota-space-4,16px)}
.pr-proposal-list article>header{display:flex;justify-content:space-between;gap:var(--sota-space-2,8px)}
.pr-proposal-list article code,.pr-proposal-list article small{display:block;color:var(--sota-color-text-subtle)}
.pr-proposal-list article footer{display:flex;gap:var(--sota-space-2,8px);flex-wrap:wrap;margin:0;padding:var(--sota-space-3,12px) 0 0;border-top:1px solid var(--sota-color-border-subtle)}
.pr-toast{position:fixed;z-index:80;right:var(--sota-space-5,20px);bottom:var(--sota-space-5,20px);max-width:440px;padding:var(--sota-space-3,12px) var(--sota-space-4,16px);border:1px solid var(--sota-color-border-subtle);border-radius:var(--sota-radius-md,12px);background:var(--sota-color-state-success-bg);color:var(--sota-color-state-success-text);box-shadow:var(--sota-shadow-elevated);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}
.pr-toast.error{background:var(--sota-color-state-danger-bg);color:var(--sota-color-state-danger-text)}.pr-toast.show{opacity:1;transform:none}
@media(max-width:1180px){.pr-toolbar{grid-template-columns:minmax(240px,1fr) auto auto}.pr-mode{grid-row:2}.pr-active-filters{grid-column:1/-1}.pr-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pr-graph-wrap{grid-template-columns:1fr}.pr-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.pr-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.pr-header{grid-template-columns:1fr;padding:var(--sota-space-3,12px)}.pr-header p{display:none}.pr-head-actions{justify-content:flex-start}.pr-toolbar,.pr-filter-grid,.pr-dimension-list,.pr-editor-grid,.pr-detail-grid,.pr-proposal-list,.pr-guide{grid-template-columns:1fr}.pr-wide{grid-column:auto}.pr-mode{grid-row:auto;overflow-x:auto;justify-content:flex-start}.pr-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pr-cards{grid-template-columns:1fr}.pr-branch-nav{align-items:flex-start;flex-direction:column}.pr-graph-canvas{height:68vh;min-height:480px;touch-action:pan-y}.pr-graph-controls{max-width:calc(100% - 24px);overflow-x:auto}.pr-graph-controls button{min-width:44px;min-height:44px;flex:0 0 auto}.pr-graph-mini-legend{top:68px;right:12px;max-width:calc(100% - 24px)}.pr-graph-help{max-width:calc(100% - 24px);font-size:.68rem}.pr-node-panel.has-selection{position:fixed;z-index:70;right:12px;bottom:12px;left:12px;max-height:45vh;overflow:auto;box-shadow:var(--sota-shadow-modal)}.pr-table-tools{align-items:stretch;flex-direction:column}.pr-table-tools>.sota-field{width:100%}.pr-table-tools details{margin-left:0}.pr-modal>.sota-modal-panel{padding:var(--sota-space-4,16px)}.pr-editor>footer,.pr-deep-card>footer{justify-content:stretch}.pr-editor>footer button,.pr-deep-card>footer button{flex:1}.pr-toast{right:var(--sota-space-3,12px);bottom:var(--sota-space-3,12px);left:var(--sota-space-3,12px)}}
@media(prefers-reduced-motion:reduce){.pr-toast{transition:none}}
