.rpy-hero{padding-block:var(--space-sm) var(--space-md);max-width:78ch}.rpy-hero__title{display:flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-xs)}.rpy-hero__mark{width:48px;height:48px;flex-shrink:0;color:var(--text-secondary)}.rpy-hero__mark-chosen{stroke:var(--accent);filter:drop-shadow(0 0 6px rgba(var(--accent-rgb), .55))}.rpy-hero__mark-node{stroke:var(--accent);fill:rgba(var(--accent-rgb),0.3)}.rpy-hero__title h1{font-size:clamp(1.75rem, 3.6vw, var(--text-3xl))}.rpy-hero__lede{margin-top:var(--space-xs);color:var(--text-secondary);max-width:68ch}.rpy-hero__lede code{color:var(--text-primary)}.rpy-hero__trust{display:flex;align-items:center;gap:var(--space-2xs);margin-top:var(--space-xs);font-size:var(--text-sm);color:var(--text-primary)}.rpy-tool{padding-bottom:var(--space-lg)}.rpy-stage{position:relative;min-height:420px;padding:var(--space-md);border-top:2px solid rgba(var(--accent-rgb),.55)}.rpy-empty{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--space-md);align-items:stretch}.rpy-drop{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-xs)}.rpy-drop__icon{width:52px;height:42px;color:var(--accent)}.rpy-drop__label{font-family:var(--font-display);font-size:var(--text-lg)}.rpy-drop__hint{max-width:46ch;font-size:var(--text-sm);color:var(--text-secondary)}.rpy-empty__side{display:flex;flex-direction:column;gap:var(--space-md);justify-content:center}.rpy-backup{display:flex;gap:var(--space-2xs);align-items:flex-start;font-size:var(--text-sm);color:var(--text-secondary);padding:var(--space-xs);border-left:2px solid rgba(var(--accent-rgb),.5);background:rgba(var(--accent-rgb),.05)}.rpy-backup svg{width:16px;height:16px;flex-shrink:0;margin-top:2px;color:var(--accent)}.rpy-sample{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2xs)}.rpy-sample__label{font-weight:600}.rpy-sample__note{font-size:var(--text-xs);color:var(--text-muted)}.rpy-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);min-height:360px;color:var(--text-secondary)}.rpy-loading__dots{display:flex;gap:8px}.rpy-loading__dots span{width:9px;height:9px;border-radius:50%;background:var(--accent);animation:rpy-dot 1.1s var(--ease-out) infinite}.rpy-loading__dots span:nth-child(2){animation-delay:.15s}.rpy-loading__dots span:nth-child(3){animation-delay:.3s}@keyframes rpy-dot{0%,100%,80%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.rpy-loading__dots span{animation:none;opacity:.7}}.rpy-refusal{max-width:64ch;margin:var(--space-lg) auto;padding:var(--space-md);border:1px solid rgba(var(--status-hazard-rgb),.5);background:rgba(var(--status-hazard-rgb),.06)}.rpy-refusal__title{font-size:var(--text-xl)}.rpy-refusal__detail{margin-top:var(--space-2xs);color:var(--text-secondary)}.rpy-refusal__tried{margin:var(--space-sm) 0;padding-left:var(--space-md);font-size:var(--text-sm);color:var(--text-muted);list-style:disc}.rpy-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);grid-template-areas:"slot main" "dock dock";gap:var(--space-md)}.rpy-slot{grid-area:slot;display:flex;flex-direction:column;gap:var(--space-2xs)}.rpy-slot__shot{position:relative;margin:0;aspect-ratio:16/9;background:var(--surface-0);border:1px solid var(--border-strong);outline:1px solid rgba(var(--accent-rgb),.25);outline-offset:3px;display:flex;align-items:center;justify-content:center;overflow:hidden}.rpy-slot__shot img{width:100%;height:100%;object-fit:cover;image-rendering:auto}.rpy-slot__shot img[hidden]{display:none}.rpy-slot__noshot{font-size:var(--text-xs);color:var(--text-muted)}.rpy-slot__name{margin-top:var(--space-2xs);font-family:var(--font-display);font-size:var(--text-lg)}.rpy-slot__file{font-size:var(--text-xs);color:var(--text-muted);word-break:break-all}.rpy-slot__facts{display:grid;gap:6px;margin-top:var(--space-2xs);font-size:var(--text-sm)}.rpy-slot__facts>div{display:grid;grid-template-columns:84px 1fr;gap:var(--space-2xs)}.rpy-slot__facts>div[hidden]{display:none}.rpy-slot__facts dt{color:var(--text-muted)}.rpy-slot__actions{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-top:var(--space-xs)}.rpy-main{grid-area:main;min-width:0;display:flex;flex-direction:column;gap:var(--space-xs)}.rpy-rollback{display:flex;gap:var(--space-2xs);align-items:flex-start;font-size:var(--text-sm);color:var(--text-secondary);padding:var(--space-2xs) var(--space-xs);background:var(--surface-1);border:1px solid var(--border-hairline)}.rpy-rollback[hidden]{display:none}.rpy-rollback svg{width:16px;height:16px;flex-shrink:0;margin-top:2px;color:var(--accent)}.rpy-rollback strong{color:var(--text-primary)}.rpy-quick__title{font-size:var(--text-sm);font-family:var(--font-body);font-weight:600;color:var(--text-secondary)}.rpy-quick__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--space-2xs);margin-top:var(--space-2xs)}.rpy-qcard{display:grid;grid-template-columns:1fr;gap:4px;padding:var(--space-2xs) var(--space-xs);background:var(--surface-2);border:1px solid var(--border-hairline);border-left:3px solid var(--border-strong);transition:border-color var(--duration-fast) var(--ease-out)}.rpy-qcard.is-edited{border-left-color:var(--accent)}.rpy-qcard.is-bad{border-left-color:var(--status-hazard)}.rpy-qcard__label{font-size:var(--text-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rpy-qcard__type{font-size:11px;color:var(--text-muted)}.rpy-input{width:100%;min-height:34px;padding:4px 8px;font-size:var(--text-sm)}.rpy-search{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs);position:relative}.rpy-search>svg{position:absolute;left:12px;top:13px;width:16px;height:16px;color:var(--text-muted);pointer-events:none}.rpy-search__input{flex:1 1 260px;padding-left:36px}.rpy-toggle{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer}.rpy-toggle input{accent-color:var(--accent);width:16px;height:16px}.rpy-status{font-size:var(--text-xs);color:var(--text-muted);min-height:1.2em}.rpy-head,.rpy-row{display:grid;grid-template-columns:minmax(0,1.3fr) 110px minmax(0,1.2fr);gap:var(--space-xs);align-items:center}.rpy-head{padding:0 var(--space-xs);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.rpy-viewport{position:relative;height:460px;overflow-y:auto;border:1px solid var(--border-hairline);background:var(--surface-1);contain:strict}.rpy-row{left:0;right:0;padding:0 var(--space-xs);border-bottom:1px solid var(--border-hairline)}.rpy-row.is-edited{background:rgba(var(--accent-rgb),.07);box-shadow:inset 3px 0 0 var(--accent)}.rpy-row.is-bad{box-shadow:inset 3px 0 0 var(--status-hazard)}.rpy-row__name{display:flex;align-items:center;gap:4px;min-width:0;padding-left:calc(var(--depth,0) * 16px)}.rpy-row__toggle{background:0 0;border:0;padding:0;width:22px;height:22px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);border-radius:3px}.rpy-row__toggle::before{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform var(--duration-fast) var(--ease-out)}.rpy-row__toggle[aria-expanded=true]::before{transform:rotate(45deg)}.rpy-row__toggle[hidden]{display:inline-flex;visibility:hidden}.rpy-row__toggle:focus-visible,.rpy-row__toggle:hover{color:var(--accent);background:var(--surface-3)}.rpy-row__label{font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rpy-row.is-internal .rpy-row__label{color:var(--text-muted)}.rpy-row__type{font-size:var(--text-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rpy-row__type[data-type=bool],.rpy-row__type[data-type=float],.rpy-row__type[data-type=int],.rpy-row__type[data-type=str]{color:var(--accent-hot)}.rpy-row__value{display:flex;align-items:center;gap:var(--space-2xs);min-width:0}.rpy-row__value .rpy-input{min-height:32px}.rpy-row__ro{font-size:var(--text-sm);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.rpy-row__note{flex-shrink:0;font-size:11px;color:var(--text-muted);border:1px dashed var(--border-strong);padding:1px 6px;white-space:nowrap}.rpy-row__long{width:100%;min-height:32px;text-align:left;padding:4px 8px;font-size:var(--text-sm);background:var(--surface-2);border:1px solid var(--border-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rpy-row__long:focus-visible,.rpy-row__long:hover{border-color:var(--accent)}.rpy-dock{grid-area:dock;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(220px,0.7fr);gap:var(--space-md);align-items:start;padding:var(--space-md);background:linear-gradient(180deg,rgba(var(--accent-rgb),.06),rgba(var(--accent-rgb),0) 60%),var(--surface-1);border:1px solid rgba(var(--accent-rgb),.35);border-radius:14px}.rpy-dock__title{font-size:var(--text-base)}.rpy-dock__empty{margin-top:var(--space-2xs);font-size:var(--text-sm);color:var(--text-muted)}.rpy-dock__empty[hidden]{display:none}.rpy-changes{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-2xs);margin-top:var(--space-2xs);max-height:260px;overflow-y:auto}.rpy-change{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px var(--space-2xs);padding:6px var(--space-2xs);background:var(--surface-2);border-left:2px solid var(--accent)}.rpy-change.is-bad{border-left-color:var(--status-hazard)}.rpy-change__path{font-size:var(--text-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rpy-change__vals{grid-column:1;font-size:var(--text-sm)}.rpy-change__vals del{color:var(--text-muted)}.rpy-change__vals ins{text-decoration:none;color:var(--accent-hot)}.rpy-change__undo{background:0 0;cursor:pointer;grid-column:2;grid-row:1/span 2;align-self:center;font-size:var(--text-xs);color:var(--text-secondary);padding:4px 10px;border:1px solid var(--border-strong)}.rpy-change__undo:focus-visible,.rpy-change__undo:hover{color:var(--accent);border-color:var(--accent)}.rpy-change__note{grid-column:1/-1;font-size:var(--text-xs);color:var(--text-secondary)}.rpy-change__note--bad{color:#fca5a5}.rpy-choice{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2xs)}.rpy-choice[hidden]{display:none}.rpy-choice__legend{font-family:var(--font-display);font-weight:600;font-size:var(--text-base);padding:0}.rpy-choice__why{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:2px}.rpy-option{position:relative;display:flex;gap:var(--space-xs);align-items:flex-start;padding:var(--space-xs) var(--space-sm);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:999px 999px 999px 999px/24px 24px 24px 24px;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.rpy-option:hover{border-color:rgba(var(--accent-rgb),.6)}.rpy-option:has(input:checked){border-color:var(--accent);background:rgba(var(--accent-rgb),.1)}.rpy-option:has(input:focus-visible){outline:2px solid var(--brand-cyan);outline-offset:2px}.rpy-option.is-disabled{opacity:.55;cursor:not-allowed}.rpy-option input{accent-color:var(--accent);margin-top:4px;width:16px;height:16px;flex-shrink:0}.rpy-option__body{display:flex;flex-direction:column;gap:2px}.rpy-option__title{font-weight:600}.rpy-option__title::before{content:"▸ ";color:var(--accent)}.rpy-option__text{font-size:var(--text-sm);color:var(--text-secondary)}.rpy-keyfile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:0 var(--space-sm) var(--space-2xs) calc(var(--space-sm) + 28px)}.rpy-keyfile[hidden]{display:none}.rpy-keyfile input:focus-visible+label{outline:2px solid var(--brand-cyan);outline-offset:2px}.rpy-keyfile__status{font-size:var(--text-xs);color:var(--text-secondary)}.rpy-keyfile__status[data-tone=good]{color:#6ee7b7}.rpy-keyfile__status[data-tone=bad]{color:#fca5a5}.rpy-dock__go{display:flex;flex-direction:column;gap:var(--space-xs)}.rpy-backup--dock{margin:0}.rpy-dock__result{font-size:var(--text-sm);color:var(--text-secondary);min-height:1.2em}.rpy-dock__result[data-tone=good]{color:#6ee7b7}.rpy-dock__result[data-tone=bad]{color:#fca5a5}.rpy-dialog{width:min(640px,calc(100vw - 32px));padding:0;color:var(--text-primary);background:var(--surface-2);border:1px solid rgba(var(--accent-rgb),.5);box-shadow:var(--shadow-modal)}.rpy-dialog::backdrop{background:rgba(5,7,10,.75)}.rpy-dialog__form{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md)}.rpy-dialog__path{font-size:var(--text-xs);color:var(--text-muted);word-break:break-all}.rpy-dialog__text{width:100%;font-family:var(--font-mono);font-size:var(--text-sm);resize:vertical}.rpy-dialog__actions{display:flex;justify-content:flex-end;gap:var(--space-2xs)}.rpy-shots{padding-block:var(--space-md) var(--space-lg)}.rpy-shots__title{font-size:var(--text-xl)}.rpy-shots__grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);grid-template-rows:auto auto;gap:var(--space-md);margin-top:var(--space-md)}.rpy-shot{margin:0;display:flex;flex-direction:column;gap:var(--space-2xs)}.rpy-shot--main{grid-row:span 2}.rpy-shot__link{display:block;border:1px solid var(--border-strong);outline:1px solid rgba(var(--accent-rgb),.25);outline-offset:3px;transition:outline-color var(--duration-fast) var(--ease-out)}.rpy-shot__link:focus-visible,.rpy-shot__link:hover{outline-color:var(--accent)}.rpy-shot img{display:block;width:100%;height:auto}.rpy-shot figcaption{font-size:var(--text-sm);color:var(--text-secondary)}.rpy-shot__slot{display:inline-block;margin-right:6px;padding:0 8px;font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;color:var(--text-on-accent);background:var(--accent);border-radius:999px}@media (max-width:860px){.rpy-shots__grid{grid-template-columns:1fr}.rpy-shot--main{grid-row:auto}}.rpy-route__list{list-style:none;position:relative;display:grid;gap:var(--space-md);max-width:76ch;margin-top:var(--space-md);padding-left:76px}.rpy-route__list::before{content:"";position:absolute;left:27px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--accent),rgba(var(--accent-rgb),.15))}.rpy-route__stop{position:relative}.rpy-route__chapter{position:absolute;left:-76px;top:0;width:56px;padding:4px 0;text-align:center;font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;color:var(--text-on-accent);background:var(--accent);border-radius:999px}.rpy-route__stop h3{font-size:var(--text-lg)}.rpy-route__stop p{margin-top:4px;color:var(--text-secondary)}.rpy-route__stop--fork .rpy-route__chapter{box-shadow:0 0 0 4px rgba(var(--accent-rgb),.18)}.rpy-bytes{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--space-2xs);margin-top:var(--space-2xs);padding:var(--space-2xs) var(--space-xs);background:var(--surface-1);border:1px solid var(--border-hairline);font-size:var(--text-sm)}.rpy-bytes__label,.rpy-bytes__note{color:var(--text-muted)}.rpy-bytes__note{flex-basis:100%;font-size:var(--text-xs)}.rpy-bytes__old{color:var(--text-muted);text-decoration:line-through}.rpy-bytes__new{color:var(--accent-hot)}.rpy-route__aside{max-width:76ch;margin-top:var(--space-md);padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);color:var(--text-secondary);border:1px dashed rgba(var(--accent-rgb),.45)}.rpy-table-wrap{overflow-x:auto;margin-top:var(--space-md)}.rpy-where__table th[scope=row]{text-align:left;white-space:nowrap;color:var(--text-primary)}.rpy-scope__table code,.rpy-where__table code{font-size:var(--text-sm)}.rpy-where__table i{color:var(--accent-hot);font-style:normal}.rpy-where__notes{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-top:var(--space-md);color:var(--text-secondary)}.rpy-device__grid{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:var(--space-lg);align-items:start;margin-top:var(--space-md)}.rpy-say{margin:0}.rpy-say__box{padding:var(--space-md);background:rgba(18,12,20,.92);border:2px solid rgba(var(--accent-rgb),.55);border-radius:16px;box-shadow:0 0 24px rgba(var(--accent-rgb),.12)}.rpy-say__text{font-size:var(--text-lg);line-height:1.55}.rpy-say__choices{display:flex;justify-content:center;gap:var(--space-md);margin-top:var(--space-sm)}.rpy-say__choices span{min-width:90px;text-align:center;padding:6px 18px;border:1px solid var(--border-strong);border-radius:999px;font-weight:600}.rpy-say__choices span:first-child{border-color:var(--accent);color:var(--accent-hot)}.rpy-say figcaption{margin-top:var(--space-2xs);font-size:var(--text-xs);color:var(--text-muted)}.rpy-fork{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-top:var(--space-xl);padding-top:var(--space-lg)}.rpy-fork::before{content:"";position:absolute;top:0;left:25%;right:25%;height:var(--space-lg);border:2px solid rgba(var(--accent-rgb),.5);border-bottom:0;border-radius:14px 14px 0 0}.rpy-fork::after{content:"";position:absolute;top:calc(var(--space-lg) * -.9);left:50%;width:2px;height:calc(var(--space-lg) * .9);background:rgba(var(--accent-rgb),.5)}.rpy-fork__branch{padding:var(--space-md);background:var(--surface-2);border:1px solid var(--border-hairline);border-top:3px solid var(--accent)}.rpy-fork__branch--b{border-top-color:var(--border-strong)}.rpy-fork__tag{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.rpy-fork__branch--b .rpy-fork__tag{color:var(--text-secondary)}.rpy-fork__branch h3{margin-top:4px;font-size:var(--text-lg)}.rpy-fork__branch p:last-child{margin-top:var(--space-2xs);color:var(--text-secondary)}.rpy-anatomy__grid{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:var(--space-lg);margin-top:var(--space-md);align-items:start}.rpy-files{display:flex;flex-direction:column;border:1px solid var(--border-hairline);background:var(--surface-1)}.rpy-files li{display:grid;gap:2px;padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--border-hairline)}.rpy-files li:last-child{border-bottom:0}.rpy-files code{font-size:var(--text-sm);color:var(--text-primary)}.rpy-files span{font-size:var(--text-sm);color:var(--text-secondary)}.rpy-files__key{background:rgba(var(--accent-rgb),.07);box-shadow:inset 3px 0 0 var(--accent)}.rpy-files__key code{color:var(--accent-hot)}.rpy-no,.rpy-yes{display:inline-block;padding:1px 8px;font-size:var(--text-xs);font-weight:600;border-radius:999px;white-space:nowrap}.rpy-yes{color:var(--text-on-accent);background:var(--accent)}.rpy-no{color:var(--text-secondary);border:1px solid var(--border-strong)}.rpy-faq__head{max-width:72ch;margin-bottom:var(--space-md)}.rpy-byline{margin-top:var(--space-2xs);font-size:var(--text-sm);color:var(--text-secondary)}.rpy-byline span{color:var(--text-muted)}.rpy-faq .accordion{max-width:82ch}.rpy-proof .prose{max-width:78ch;margin-top:var(--space-xs)}.rpy-author{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--border-hairline)}.rpy-author__avatar img{width:56px;height:56px;border-radius:50%;border:2px solid rgba(var(--accent-rgb),.5)}.rpy-author__name{font-weight:600}.rpy-author__dates{margin-top:2px;font-size:var(--text-xs);color:var(--text-muted)}@media (max-width:1080px){.rpy-dock{grid-template-columns:1fr 1fr}.rpy-dock__go{grid-column:1/-1}}@media (max-width:860px){.rpy-anatomy__grid,.rpy-device__grid,.rpy-empty,.rpy-where__notes{grid-template-columns:1fr}.rpy-workspace{grid-template-columns:1fr;grid-template-areas:"slot" "main" "dock"}.rpy-slot{display:grid;grid-template-columns:150px 1fr;column-gap:var(--space-sm)}.rpy-slot__shot{grid-row:span 3}.rpy-slot__actions,.rpy-slot__facts{grid-column:1/-1}.rpy-slot__facts{grid-template-columns:1fr 1fr}.rpy-dock{grid-template-columns:1fr}}@media (max-width:640px){.rpy-stage{padding:var(--space-sm)}.rpy-quick__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rpy-drop{min-height:220px}.rpy-head{display:none}.rpy-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rpy-row__type{display:none}.rpy-row__note{display:none}.rpy-viewport{height:400px}.rpy-slot__facts{grid-template-columns:1fr}.rpy-fork{grid-template-columns:1fr;padding-top:0;margin-top:var(--space-lg)}.rpy-fork::after,.rpy-fork::before{display:none}.rpy-route__list{padding-left:0}.rpy-route__list::before{display:none}.rpy-route__chapter{position:static;display:inline-block;margin-bottom:6px}.rpy-dock{padding:var(--space-sm)}}