:root{--primary: #4f46e5;--primary-dark: #4338ca;--surface: #ffffff;--surface-muted: #f6f7fd;--border: #e0e2f0;--border-dark: #c3c7e4;--text-main: #171a2b;--text-muted: #5f6480;--accent: #b45309;--shadow-soft: 0 2px 12px rgba(23,26,43,0.06);}
.rpg-shell{display: grid;grid-template-columns: 1fr;gap: 1.25rem;margin-bottom: 1.25rem;}
@media (min-width: 992px){.rpg-shell{grid-template-columns: 360px minmax(0, 1fr);align-items: start;}}
.rpg-bench{background: var(--surface);border: 1px solid var(--border);border-radius: 1rem;padding: 1.25rem;box-shadow: var(--shadow-soft);}
@media (min-width: 992px){.rpg-bench{position: sticky;top: 1rem;}}
.rpg-form{display: flex;flex-direction: column;gap: 1rem;}
.rpg-row{display: grid;grid-template-columns: 1fr 1fr;gap: 0.75rem;}
.rpg-field{display: flex;flex-direction: column;gap: 0.35rem;min-width: 0;}
.rpg-label{font-size: 0.8125rem;font-weight: 700;color: var(--text-main);letter-spacing: 0.01em;margin: 0;}
.rpg-label-sm{font-size: 0.75rem;font-weight: 600;color: var(--text-muted);}
.rpg-select,.rpg-input{width: 100%;border: 1px solid var(--border-dark);border-radius: 0.6rem;padding: 0.55rem 0.7rem;font-size: 0.9375rem;color: var(--text-main);background: var(--surface);transition: border-color 0.15s ease, box-shadow 0.15s ease;}
.rpg-select:focus,.rpg-input:focus{outline: none;border-color: var(--primary);box-shadow: 0 0 0 3px rgba(79,70,229,0.14);}
.rpg-hint{font-size: 0.8125rem;line-height: 1.45;color: var(--text-muted);margin: 0.1rem 0 0;}
.rpg-custom{padding: 0.75rem;background: var(--surface-muted);border: 1px dashed var(--border-dark);border-radius: 0.6rem;}
.rpg-toggles{display: flex;flex-direction: column;gap: 0.55rem;padding-top: 0.25rem;border-top: 1px solid var(--border);}
.rpg-check{display: flex;align-items: flex-start;gap: 0.5rem;font-size: 0.875rem;line-height: 1.4;color: var(--text-main);margin: 0;cursor: pointer;}
.rpg-check input{margin-top: 0.2rem;accent-color: var(--primary);flex: 0 0 auto;}
.rpg-actions{display: flex;flex-wrap: wrap;gap: 0.6rem;}
.rpg-btn{border: 1px solid transparent;border-radius: 0.6rem;padding: 0.6rem 1.05rem;font-size: 0.9375rem;font-weight: 600;cursor: pointer;transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;}
.rpg-btn-primary{background: var(--primary);color: #ffffff;flex: 1 1 auto;}
.rpg-btn-primary:hover{background: var(--primary-dark);}
.rpg-btn-primary:disabled{opacity: 0.65;cursor: progress;}
.rpg-btn-ghost{background: transparent;border-color: var(--border-dark);color: var(--text-muted);}
.rpg-btn-ghost:hover{background: var(--surface-muted);color: var(--text-main);}
.rpg-output{background: var(--surface);border: 1px solid var(--border);border-radius: 1rem;padding: 1.25rem;box-shadow: var(--shadow-soft);min-width: 0;}
.rpg-output-head{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.6rem;margin-bottom: 0.9rem;}
.rpg-output-title{font-size: 1.0625rem;font-weight: 700;color: var(--text-main);margin: 0;}
.rpg-foot{display: flex;flex-wrap: wrap;gap: 0.5rem;}
.rpg-foot-btn{background: var(--surface-muted);border: 1px solid var(--border);border-radius: 0.5rem;padding: 0.4rem 0.75rem;font-size: 0.8125rem;font-weight: 600;color: var(--text-muted);cursor: pointer;transition: background 0.15s ease, color 0.15s ease;}
.rpg-foot-btn:hover{background: var(--primary);border-color: var(--primary);color: #ffffff;}
.rpg-stats{display: grid;grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));gap: 0.5rem;padding: 0.75rem;background: var(--surface-muted);border: 1px solid var(--border);border-radius: 0.7rem;margin-bottom: 1rem;}
.rpg-stat{display: flex;flex-direction: column;align-items: center;text-align: center;gap: 0.1rem;}
.rpg-stat-num{font-size: 1.0625rem;font-weight: 700;color: var(--primary-dark);line-height: 1.2;}
.rpg-stat-lbl{font-size: 0.6875rem;text-transform: uppercase;letter-spacing: 0.05em;color: var(--text-muted);}
.rpg-results{display: flex;flex-direction: column;gap: 0.9rem;}
.rpg-para{position: relative;background: var(--surface-muted);border: 1px solid var(--border);border-left: 3px solid var(--primary);border-radius: 0.6rem;padding: 0.9rem 1rem;}
.rpg-para-head{display: flex;align-items: center;justify-content: space-between;gap: 0.6rem;margin-bottom: 0.5rem;}
.rpg-para-num{font-size: 0.6875rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.06em;color: var(--primary-dark);}
.rpg-para-meta{font-size: 0.75rem;color: var(--text-muted);}
.rpg-para-copy{background: none;border: 1px solid var(--border-dark);border-radius: 0.4rem;padding: 0.2rem 0.55rem;font-size: 0.75rem;font-weight: 600;color: var(--text-muted);cursor: pointer;}
.rpg-para-copy:hover{background: var(--primary);border-color: var(--primary);color: #ffffff;}
.rpg-para-text{font-size: 0.9375rem;line-height: 1.7;color: var(--text-main);margin: 0;}
.rpg-empty{text-align: center;padding: 2.5rem 1rem;border: 1px dashed var(--border-dark);border-radius: 0.7rem;}
.rpg-empty-title{font-size: 1rem;font-weight: 700;color: var(--text-main);margin: 0 0 0.35rem;}
.rpg-empty-desc{font-size: 0.875rem;line-height: 1.55;color: var(--text-muted);margin: 0;max-width: 34rem;margin-left: auto;margin-right: auto;}
.rpg-loading{text-align: center;padding: 2.5rem 1rem;color: var(--text-muted);font-size: 0.875rem;}
.rpg-spinner{width: 26px;height: 26px;margin: 0 auto 0.7rem;border: 3px solid var(--border);border-top-color: var(--primary);border-radius: 50%;animation: rpgSpin 0.7s linear infinite;}
@keyframes rpgSpin{to{transform: rotate(360deg);}}
.rpg-error{padding: 0.85rem 1rem;background: #fef2f2;border: 1px solid #fecaca;border-radius: 0.6rem;color: #991b1b;font-size: 0.875rem;margin: 0;}
.rpg-byline{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.4rem 1rem;font-size: 0.875rem;color: var(--text-muted);padding: 0 0.25rem;margin-bottom: 1.75rem;}
.rpg-byline .author-link{color: var(--primary-dark);text-decoration: none;font-weight: 600;}
.rpg-byline .author-link:hover{text-decoration: underline;}
.rpg-content{max-width: 62rem;margin-bottom: 2rem;color: var(--text-main);}
.rpg-content p{font-size: 1rem;line-height: 1.75;margin: 0 0 1rem;}
.rpg-lead{font-size: 1.0625rem !important;font-weight: 500;color: var(--text-main);border-left: 3px solid var(--primary);padding-left: 0.9rem;}
.rpg-content-h2{font-size: 1.375rem;font-weight: 700;color: var(--text-main);margin: 2rem 0 0.85rem;}
.rpg-mono{font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-size: 0.875em;background: var(--surface-muted);border: 1px solid var(--border);border-radius: 0.3rem;padding: 0.06rem 0.35rem;color: var(--primary-dark);}
.rpg-list-checked{list-style: none;padding: 0;margin: 0 0 1.25rem;}
.rpg-list-checked li{position: relative;padding-left: 1.6rem;margin-bottom: 0.7rem;font-size: 0.9375rem;line-height: 1.65;}
.rpg-list-checked li::before{content: "\2713";position: absolute;left: 0;top: 0;color: var(--primary);font-weight: 700;}
.rpg-table-wrap{overflow-x: auto;margin: 0 0 1.25rem;border: 1px solid var(--border);border-radius: 0.7rem;}
.rpg-table{width: 100%;border-collapse: collapse;font-size: 0.9375rem;min-width: 34rem;margin: 0;}
.rpg-table th{background: var(--surface-muted);text-align: left;font-weight: 700;padding: 0.7rem 0.9rem;border-bottom: 1px solid var(--border);color: var(--text-main);}
.rpg-table td{padding: 0.7rem 0.9rem;border-bottom: 1px solid var(--border);vertical-align: top;line-height: 1.6;}
.rpg-table tr:last-child td{border-bottom: none;}
.rpg-tag{display: inline-block;background: rgba(79,70,229,0.1);color: var(--primary-dark);border-radius: 0.35rem;padding: 0.15rem 0.5rem;font-size: 0.8125rem;font-weight: 600;white-space: nowrap;}
.rpg-callout{background: #fffbeb;border: 1px solid #fde68a;border-left: 4px solid var(--accent);border-radius: 0.7rem;padding: 1rem 1.15rem;margin: 1.5rem 0;}
.rpg-callout-title{font-size: 0.9375rem;font-weight: 700;color: #78350f;margin: 0 0 0.4rem;}
.rpg-callout-body{font-size: 0.9375rem;line-height: 1.7;color: #78350f;margin: 0;}
.rpg-content a{color: var(--primary-dark);font-weight: 600;}
@media (max-width: 575px){.rpg-row{grid-template-columns: 1fr;}.rpg-content-h2{font-size: 1.1875rem;}}
