:root{--ppc-ink: #1f1b2e;--ppc-muted: #6b6480;--ppc-faint: #9a93ab;--ppc-surface: #ffffff;--ppc-surface-2: #f8f5fc;--ppc-border: #e6e0f0;--ppc-grape: #6d28d9;--ppc-grape-dark: #5b21b6;--ppc-grape-soft: #f3e8ff;--ppc-amber: #b45309;--ppc-amber-bg: #fffbeb;--ppc-amber-border: #fcd34d;--ppc-green: #047857;--ppc-radius: 16px;--ppc-radius-sm: 9px;--ppc-shadow: 0 10px 30px rgba(31,27,46,0.08);--ppc-focus: 0 0 0 3px rgba(109,40,217,0.22);--primary: var(--ppc-grape);--primary-dark: var(--ppc-grape-dark);--border: var(--ppc-border);--surface: var(--ppc-surface);--shadow-soft: var(--ppc-shadow);--surface-muted: var(--ppc-surface-2);--text-main: var(--ppc-ink);--text-muted: var(--ppc-muted);}
.tool-hero{display: flex;flex-wrap: wrap;gap: 32px;align-items: flex-start;margin-bottom: 1rem;}
.hero-text{flex: 1;min-width: 260px;}
.hero-text h1{font-size: 40px;font-weight: 700;line-height: 1.2;margin-bottom: 0;color: var(--ppc-ink);}
.hero-subtitle{font-size: 18px;color: var(--ppc-muted);max-width: 680px;margin-bottom: 1rem;margin-top: 0.5rem;}
.ppc-app{margin-bottom: 2.5rem;}
.ppc-card{background: var(--ppc-surface);border: 1px solid var(--ppc-border);border-radius: var(--ppc-radius);box-shadow: var(--ppc-shadow);overflow: hidden;}
.ppc-byline{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.4rem 1rem;padding: 0.85rem 1.4rem;border-bottom: 1px solid var(--ppc-border);background: var(--ppc-surface-2);font-size: 0.86rem;color: var(--ppc-muted);}
.ppc-byline-author{font-weight: 600;color: var(--ppc-ink);}
.ppc-byline .author-link{color: var(--ppc-grape);text-decoration: none;}
.ppc-byline .author-link:hover{text-decoration: underline;}
.ppc-byline .author-link:focus-visible{outline: none;box-shadow: var(--ppc-focus);border-radius: 4px;}
.ppc-presets{display: flex;flex-wrap: wrap;align-items: center;gap: 0.5rem;padding: 1rem 1.4rem;border-bottom: 1px dashed var(--ppc-border);}
.ppc-presets-label{font-size: 0.85rem;font-weight: 600;color: var(--ppc-muted);margin-right: 0.25rem;}
.ppc-preset{border: 1px solid var(--ppc-border);background: var(--ppc-surface);color: var(--ppc-ink);border-radius: 999px;padding: 0.42rem 0.95rem;font-size: 0.85rem;font-weight: 600;cursor: pointer;transition: background 0.15s,border-color 0.15s,color 0.15s;}
.ppc-preset:hover{background: var(--ppc-grape-soft);border-color: var(--ppc-grape);color: var(--ppc-grape-dark);}
.ppc-preset:focus-visible{outline: none;box-shadow: var(--ppc-focus);}
.ppc-form{padding: 1.4rem;}
.ppc-fields{display: grid;grid-template-columns: repeat(auto-fit,minmax(190px,1fr));gap: 1.1rem 1.25rem;}
.ppc-field{display: flex;flex-direction: column;gap: 0.4rem;min-width: 0;}
.ppc-field-wide{grid-column: span 2;}
.ppc-label{font-size: 0.85rem;font-weight: 600;color: var(--ppc-ink);}
.ppc-label small{display: block;font-weight: 400;font-size: 0.76rem;color: var(--ppc-faint);margin-top: 0.1rem;}
.ppc-input,.ppc-select{width: 100%;border: 1px solid var(--ppc-border);border-radius: var(--ppc-radius-sm);padding: 0.6rem 0.75rem;font-size: 0.95rem;color: var(--ppc-ink);background: var(--ppc-surface);}
.ppc-input:focus,.ppc-select:focus{outline: none;border-color: var(--ppc-grape);box-shadow: var(--ppc-focus);}
.ppc-range{width: 100%;accent-color: var(--ppc-grape);}
.ppc-range-head{display: flex;align-items: baseline;justify-content: space-between;gap: 0.5rem;}
.ppc-range-value{font-weight: 700;color: var(--ppc-grape-dark);font-size: 0.95rem;}
.ppc-check{display: flex;align-items: center;gap: 0.55rem;font-size: 0.9rem;color: var(--ppc-ink);cursor: pointer;padding-top: 1.4rem;}
.ppc-check input{width: 18px;height: 18px;accent-color: var(--ppc-grape);}
.ppc-units{display: inline-flex;border: 1px solid var(--ppc-border);border-radius: 999px;overflow: hidden;background: var(--ppc-surface-2);}
.ppc-units label{margin: 0;padding: 0.42rem 0.95rem;font-size: 0.85rem;font-weight: 600;color: var(--ppc-muted);cursor: pointer;}
.ppc-units input{position: absolute;opacity: 0;pointer-events: none;}
.ppc-units input:checked+span{color: var(--ppc-surface);}
.ppc-units label:has(input:checked){background: var(--ppc-grape);color: var(--ppc-surface);}
.ppc-summary{display: grid;grid-template-columns: repeat(auto-fit,minmax(150px,1fr));gap: 0.9rem;margin: 1.5rem 0 0.4rem;}
.ppc-tile{background: linear-gradient(160deg,var(--ppc-grape-soft),var(--ppc-surface));border: 1px solid var(--ppc-border);border-radius: var(--ppc-radius);padding: 0.95rem 1.1rem;}
.ppc-tile-label{display: block;font-size: 0.78rem;text-transform: uppercase;letter-spacing: 0.04em;color: var(--ppc-muted);margin-bottom: 0.25rem;}
.ppc-tile-value{font-size: 1.5rem;font-weight: 700;color: var(--ppc-grape-dark);line-height: 1.2;word-break: break-word;}
.ppc-summary-meta{margin: 0.6rem 0 0;font-size: 0.9rem;color: var(--ppc-muted);}
.ppc-results{display: grid;grid-template-columns: repeat(auto-fit,minmax(280px,1fr));gap: 1rem;margin-top: 1.25rem;}
.ppc-result-card{background: var(--ppc-surface);border: 1px solid var(--ppc-border);border-radius: var(--ppc-radius);padding: 1.1rem 1.25rem 1.25rem;box-shadow: var(--ppc-shadow);}
.ppc-result-card h2{font-size: 1.05rem;font-weight: 700;color: var(--ppc-ink);margin: 0 0 0.15rem;}
.ppc-result-note{font-size: 0.82rem;color: var(--ppc-faint);margin: 0 0 0.75rem;}
.ppc-row{display: flex;align-items: baseline;justify-content: space-between;gap: 0.75rem;padding: 0.5rem 0;border-bottom: 1px solid var(--ppc-surface-2);}
.ppc-row:last-child{border-bottom: none;}
.ppc-row-label{font-size: 0.92rem;color: var(--ppc-ink);}
.ppc-row-label em{display: block;font-style: normal;font-size: 0.78rem;color: var(--ppc-faint);}
.ppc-row-value{font-size: 0.98rem;font-weight: 700;color: var(--ppc-grape-dark);white-space: nowrap;}
.ppc-card-budget .ppc-row:nth-last-child(2) .ppc-row-value{color: var(--ppc-green);font-size: 1.15rem;}
.ppc-empty{font-size: 0.9rem;color: var(--ppc-muted);margin: 0;}
.ppc-actions{display: flex;flex-wrap: wrap;gap: 0.6rem;margin-top: 1.1rem;}
.ppc-btn{display: inline-flex;align-items: center;gap: 0.45rem;border-radius: var(--ppc-radius-sm);padding: 0.6rem 1.1rem;font-size: 0.9rem;font-weight: 600;cursor: pointer;border: 1px solid var(--ppc-grape);background: var(--ppc-grape);color: #fff;transition: background 0.15s;}
.ppc-btn:hover{background: var(--ppc-grape-dark);}
.ppc-btn:focus-visible{outline: none;box-shadow: var(--ppc-focus);}
.ppc-btn.is-done{background: var(--ppc-green);border-color: var(--ppc-green);}
.ppc-btn-ghost{background: var(--ppc-surface);color: var(--ppc-ink);border-color: var(--ppc-border);}
.ppc-btn-ghost:hover{background: var(--ppc-surface-2);}
.ppc-read{max-width: 62rem;margin: 0 0 2rem;color: var(--ppc-ink);}
.ppc-read h2{font-size: 1.45rem;font-weight: 700;margin: 2rem 0 0.6rem;line-height: 1.3;}
.ppc-read h3{font-size: 1.05rem;font-weight: 700;margin: 1.25rem 0 0.35rem;}
.ppc-read p{font-size: 1rem;line-height: 1.65;color: var(--ppc-ink);margin: 0 0 0.9rem;}
.ppc-read a{color: var(--ppc-grape-dark);}
.ppc-rules{margin: 0 0 1.1rem;padding: 0;list-style: none;display: flex;flex-direction: column;gap: 0.7rem;}
.ppc-rules li{padding-left: 1.1rem;position: relative;line-height: 1.6;}
.ppc-rules li::before{content: "";position: absolute;left: 0;top: 0.62em;width: 6px;height: 6px;border-radius: 50%;background: var(--ppc-grape);}
.ppc-rules strong{color: var(--ppc-grape-dark);}
.ppc-callout{margin: 1.1rem 0 1.4rem;padding: 0.9rem 1.1rem;background: var(--ppc-amber-bg);border: 1px solid var(--ppc-amber-border);border-left: 4px solid var(--ppc-amber);border-radius: 0 var(--ppc-radius-sm) var(--ppc-radius-sm) 0;font-size: 0.95rem;line-height: 1.55;}
.ppc-callout strong{color: var(--ppc-amber);}
.ppc-scenarios{display: grid;grid-template-columns: repeat(auto-fit,minmax(240px,1fr));gap: 1rem;margin: 1rem 0 1.4rem;}
.ppc-scenario{background: var(--ppc-surface-2);border: 1px solid var(--ppc-border);border-radius: var(--ppc-radius);padding: 1rem 1.15rem;}
.ppc-scenario h3{margin-top: 0;}
.ppc-scenario p{font-size: 0.92rem;margin-bottom: 0.5rem;color: var(--ppc-muted);}
.ppc-scenario ul{margin: 0;padding-left: 1.1rem;font-size: 0.92rem;line-height: 1.55;}
.ppc-limits{margin: 0 0 1rem;padding-left: 1.2rem;display: flex;flex-direction: column;gap: 0.6rem;line-height: 1.6;}
.ppc-limits code{font-size: 0.88em;background: rgba(31,27,46,0.06);padding: 0.1em 0.35em;border-radius: 4px;}
@media (max-width: 767px){.hero-text h1{font-size: clamp(1.75rem,5vw,2.5rem);}.hero-subtitle{font-size: clamp(1rem,3vw,1.125rem);}.ppc-field-wide{grid-column: span 1;}.ppc-form{padding: 1.1rem;}.ppc-presets{padding: 0.9rem 1.1rem;}.ppc-byline{padding: 0.75rem 1.1rem;}.ppc-check{padding-top: 0.25rem;}.ppc-read h2{font-size: 1.25rem;}}