:root {
    --text-main: #0f172a;
    --text-muted: #64748b;
    --surface: #ffffff;
    --surface-muted: #f1f5f9;
    --border: #e2e8f0;
    --primary: #0d9488;
    --primary-dark: #0f766e;
    --accent: #14b8a6;
    --shadow-soft: 0 4px 24px rgb(15 23 42 / 0.06);
    --rpn-radius: 1rem;
    --rpn-radius-sm: 0.625rem;
    --rpn-focus: 0 0 0 3px rgb(13 148 136 / 0.25);
}
.rpn-tool-section{margin-bottom:2.5rem;}
.rpn-hero-pills{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1rem;padding:0;list-style:none;}
.rpn-hero-pills li{font-size:0.8125rem;font-weight:600;color:var(--primary-dark);background:rgb(13 148 136 / 0.08);border:1px solid rgb(13 148 136 / 0.2);padding:0.35rem 0.75rem;border-radius:999px;}
.rpn-shell{background:var(--surface);border:1px solid var(--border);border-radius:var(--rpn-radius);box-shadow:var(--shadow-soft);overflow:hidden;}
.rpn-spec{padding:1rem 1.125rem;background:linear-gradient(180deg, var(--surface-muted) 0%, var(--surface) 100%);border-bottom:1px solid var(--border);}
.rpn-spec-grid{display:grid;gap:1rem;}
@media (min-width: 640px) {
    .rpn-spec-grid{grid-template-columns:1fr 1fr;align-items:end;}
}
@media (min-width: 900px) {
    .rpn-spec-grid{grid-template-columns:1.4fr 1fr 1fr;align-items:end;}
}
.rpn-field{display:flex;flex-direction:column;gap:0.375rem;}
.rpn-label{font-size:0.6875rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-muted);}
.rpn-select-wrap{position:relative;}
.rpn-select{width:100%;appearance:none;-webkit-appearance:none;font-size:1rem;font-weight:600;color:var(--text-main);padding:0.75rem 2.5rem 0.75rem 0.875rem;border:1px solid var(--border);border-radius:var(--rpn-radius-sm);background:var(--surface);cursor:pointer;}
.rpn-select:focus{outline:none;border-color:var(--primary);box-shadow:var(--rpn-focus);}
.rpn-select-wrap::after{content:"";position:absolute;right:0.875rem;top:50%;width:0.5rem;height:0.5rem;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:translateY(-65%) rotate(45deg);pointer-events:none;}
.rpn-seg{display:flex;flex-wrap:wrap;gap:0.35rem;}
.rpn-seg input{position:absolute;opacity:0;pointer-events:none;}
.rpn-seg label{cursor:pointer;font-size:0.8125rem;font-weight:600;padding:0.5rem 0.65rem;border-radius:999px;border:1px solid var(--border);color:var(--text-muted);background:var(--surface);transition:background 0.15s ease,border-color 0.15s ease,color 0.15s ease;}
.rpn-seg input:focus-visible + label{outline:2px solid var(--primary);outline-offset:2px;}
.rpn-seg input:checked + label{background:rgb(13 148 136 / 0.12);border-color:var(--primary);color:var(--primary-dark);}
.rpn-stepper{display:flex;align-items:center;gap:0.5rem;max-width:12rem;}
.rpn-step-btn{flex:0 0 2.5rem;height:2.5rem;border-radius:var(--rpn-radius-sm);border:1px solid var(--border);background:var(--surface);font-size:1.25rem;font-weight:700;color:var(--text-main);cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;}
.rpn-step-btn:hover{background:var(--surface-muted);}
.rpn-step-btn:focus-visible{outline:none;box-shadow:var(--rpn-focus);}
.rpn-step-btn:disabled{opacity:0.35;cursor:not-allowed;}
.rpn-step-val{flex:1;text-align:center;font-size:1.125rem;font-weight:800;color:var(--text-main);min-width:2ch;}
.rpn-gen-row{padding:1rem 1.125rem;display:flex;flex-direction:column;gap:0.65rem;}
@media (min-width: 480px) {
    .rpn-gen-row{flex-direction:row;align-items:center;}
}
.rpn-btn-gen{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border:none;border-radius:var(--rpn-radius-sm);padding:0.9rem 1.25rem;cursor:pointer;min-height:3rem;box-shadow:0 4px 14px rgb(13 148 136 / 0.35);}
.rpn-btn-gen:hover{filter:brightness(1.05);}
.rpn-btn-gen:focus-visible{outline:none;box-shadow:var(--rpn-focus),0 4px 14px rgb(13 148 136 / 0.35);}
.rpn-btn-gen:active{transform:scale(0.99);}
.rpn-btn-ghost{font-size:0.875rem;font-weight:600;color:var(--text-muted);background:transparent;border:1px dashed var(--border);border-radius:var(--rpn-radius-sm);padding:0.65rem 1rem;cursor:pointer;white-space:nowrap;}
.rpn-btn-ghost:hover{border-color:var(--primary);color:var(--primary-dark);}
.rpn-out{padding:0 1.125rem 1.125rem;}
.rpn-out-head{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;margin-bottom:0.75rem;}
.rpn-out-title{font-size:0.75rem;font-weight:800;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-muted);margin:0;}
.rpn-stream{display:flex;flex-direction:column;gap:0.5rem;min-height:8rem;}
.rpn-empty{text-align:center;padding:2rem 1rem;color:var(--text-muted);font-size:0.9375rem;line-height:1.5;border:1px dashed var(--border);border-radius:var(--rpn-radius-sm);background:var(--surface-muted);}
.rpn-ticket{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;padding:0.75rem 0.875rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--rpn-radius-sm);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.875rem;font-weight:600;color:var(--text-main);word-break:break-all;}
.rpn-ticket:hover{border-color:rgb(13 148 136 / 0.4);}
.rpn-ticket.rpn-copied{border-color:var(--primary);background:rgb(13 148 136 / 0.06);}
.rpn-copy-line{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:0.5rem;border:1px solid var(--border);background:var(--surface-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);}
.rpn-copy-line:hover{color:var(--primary-dark);border-color:var(--primary);}
.rpn-copy-line:focus-visible{outline:none;box-shadow:var(--rpn-focus);}
.rpn-copy-line svg{width:1rem;height:1rem;}
.rpn-bar-actions{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:0.75rem;}
.rpn-btn-copy{display:inline-flex;align-items:center;gap:0.35rem;font-size:0.875rem;font-weight:700;padding:0.6rem 1rem;border-radius:var(--rpn-radius-sm);border:none;background:var(--text-main);color:#fff;cursor:pointer;}
.rpn-btn-copy:disabled{opacity:0.4;cursor:not-allowed;}
.rpn-btn-copy:focus-visible{outline:none;box-shadow:var(--rpn-focus);}
.rpn-session{margin-top:1rem;border-top:1px solid var(--border);padding-top:1rem;}
.rpn-details{border:1px solid var(--border);border-radius:var(--rpn-radius-sm);background:var(--surface-muted);overflow:hidden;}
.rpn-details summary{cursor:pointer;font-size:0.8125rem;font-weight:700;padding:0.75rem 1rem;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:0.5rem;}
.rpn-details summary::-webkit-details-marker{display:none;}
.rpn-details summary::after{content:"+";font-weight:400;color:var(--text-muted);}
.rpn-details[open] summary::after{content:"\2212";}
.rpn-details-body{padding:0 1rem 1rem;font-size:0.8125rem;color:var(--text-muted);line-height:1.55;}
.rpn-details-body dl{margin:0;display:grid;gap:0.35rem;}
.rpn-details-body dt{font-weight:700;color:var(--text-main);font-size:0.75rem;text-transform:uppercase;letter-spacing:0.04em;margin-top:0.5rem;}
.rpn-details-body dt:first-child{margin-top:0;}
.rpn-details-body dd{margin:0;}
.rpn-details-formats-title{font-size:0.6875rem;font-weight:800;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted);margin:0.75rem 0 0.35rem;}
.rpn-format-dl dt{margin-top:0.35rem;}
.rpn-format-dl dd{margin:0;}
.rpn-format-dl code{font-size:0.75rem;background:var(--surface);padding:0.15rem 0.35rem;border-radius:0.25rem;border:1px solid var(--border);color:var(--text-main);}
.rpn-details-foot{font-size:0.75rem;margin:0.75rem 0 0;color:var(--text-muted);line-height:1.5;}
.rpn-details-placeholder{margin:0;font-size:0.8125rem;color:var(--text-muted);line-height:1.5;}
.rpn-prose{margin-top:2.5rem;padding-bottom:2rem;}
.rpn-prose h2{font-size:clamp(1.25rem,3vw,1.5rem);font-weight:800;color:var(--text-main);margin:2rem 0 0.75rem;line-height:1.25;}
.rpn-prose h2:first-child{margin-top:0;}
.rpn-prose p{font-size:1rem;line-height:1.65;color:var(--text-muted);margin:0 0 1rem;}
.rpn-prose p.rpn-lead{font-size:1.05rem;color:var(--text-main);}
.rpn-prose ul{margin:0 0 1rem;padding-left:1.25rem;color:var(--text-muted);line-height:1.6;}
.rpn-prose li{margin-bottom:0.35rem;}
.rpn-callout{border-left:4px solid var(--primary);padding:0.75rem 1rem;background:rgb(13 148 136 / 0.06);border-radius:0 var(--rpn-radius-sm) var(--rpn-radius-sm) 0;margin:1rem 0;font-size:0.9375rem;line-height:1.55;color:var(--text-main);}
.rpn-table-wrap{overflow-x:auto;margin:1rem 0;border:1px solid var(--border);border-radius:var(--rpn-radius-sm);}
.rpn-table{width:100%;border-collapse:collapse;font-size:0.875rem;}
.rpn-table th,.rpn-table td{padding:0.65rem 0.85rem;text-align:left;border-bottom:1px solid var(--border);}
.rpn-table th{background:var(--surface-muted);font-weight:700;color:var(--text-main);font-size:0.75rem;text-transform:uppercase;letter-spacing:0.04em;}
.rpn-table tr:last-child td{border-bottom:none;}
.rpn-table td{color:var(--text-muted);}
.rpn-prose a{color:var(--primary-dark);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.rpn-prose a:hover{color:var(--primary);}
.rpn-copyflash{animation:rpnCopyFlash 1.2s ease;}
@keyframes rpnCopyFlash {
    0%{background-color:rgb(13 148 136 / 0.15);}
    100%{background-color:transparent;}
}
