.tph-ot {
--tph-ink:#243331; --tph-muted:#4d615b; --tph-deep:#285b50; --tph-deep-hover:#18463d;
--tph-bg:#fffdf9; --tph-line:#d8e5de; --tph-sand:#fff0de; --tph-mint:#e8f3ed;
--tph-focus:#a55c16;
color:var(--tph-ink); background:transparent; font-size:16px; line-height:1.6;
width:100%; max-width:1100px; margin:0 auto;
}
.tph-ot *, .tph-ot *::before, .tph-ot *::after {box-sizing:border-box}
.tph-ot .tph-ot-welcome {
background:linear-gradient(125deg,#f2f9f3 0%, #fff5e9 100%); border:1px solid var(--tph-line);
border-radius:22px; padding:clamp(20px,4vw,42px); margin-bottom:34px;
}
.tph-ot h2, .tph-ot h3 {color:#203c34; line-height:1.2; margin:0 0 12px; letter-spacing:-.02em}
.tph-ot h2 {font-size:clamp(27px,3vw,38px)}
.tph-ot h3 {font-size:clamp(20px,2vw,25px)}
.tph-ot p {margin:0 0 16px; color:var(--tph-muted)}
.tph-ot .tph-ot-eyebrow {display:block;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;color:#396d61;margin-bottom:8px}
.tph-ot .tph-ot-nav {display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.tph-ot .tph-ot-nav a {padding:9px 15px;border-radius:999px;background:white;border:1px solid #b9d0c3;color:#174c3f;text-decoration:none;font-weight:700;font-size:14px}
.tph-ot .tph-ot-nav a:hover {background:#e2f0e7;color:#133d33}
.tph-ot .tph-ot-section {margin:0 0 30px;scroll-margin-top:30px}
.tph-ot .tph-ot-panel {border:1px solid var(--tph-line);border-radius:22px;background:var(--tph-bg);padding:clamp(18px,3.5vw,34px);box-shadow:0 5px 20px rgba(20,54,40,.045);width:100%}
.tph-ot .tph-ot-intro {margin-bottom:22px;max-width:750px}
.tph-ot .tph-ot-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:16px 0 19px}
.tph-ot .tph-ot-solver .tph-ot-fields {grid-template-columns:repeat(3,minmax(0,1fr))}
.tph-ot label {display:block;font-weight:700;color:var(--tph-ink);font-size:14px;margin:0}
.tph-ot label select, .tph-ot label input[type="date"],.tph-ot label input[type="number"],.tph-ot label input[type="text"] {display:block;width:100%;margin:8px 0 0;font:inherit;font-size:15px;line-height:1.3;background:#fff;color:#1c2d29;border:1px solid #92b4a6;border-radius:10px;padding:12px;min-height:46px;box-shadow:none}
.tph-ot label select {padding-right:30px}
.tph-ot button {font:inherit;cursor:pointer;line-height:1.4}
.tph-ot .tph-ot-btn,.tph-ot .tph-ot-btn-secondary {display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;min-height:44px;padding:12px 19px;border-radius:11px;font-size:15px;font-weight:800;border:2px solid var(--tph-deep);transition:background-color .12s,color .12s}
.tph-ot .tph-ot-btn {background:var(--tph-deep);color:#fff}
.tph-ot .tph-ot-btn:hover {background:var(--tph-deep-hover);border-color:var(--tph-deep-hover);color:#fff}
.tph-ot .tph-ot-btn-secondary {background:#fff;color:#235448}
.tph-ot .tph-ot-btn-secondary:hover {background:var(--tph-mint);color:#173f34}
.tph-ot :is(button,a,input,select):focus-visible {outline:3px solid var(--tph-focus);outline-offset:3px}
.tph-ot .tph-ot-result {margin-top:22px}
.tph-ot .tph-ot-result-inner {padding:22px 24px;border-radius:16px;background:var(--tph-mint);border:1px solid #b8d7c9}
.tph-ot .tph-ot-result-inner h3 {font-size:25px}
.tph-ot .tph-ot-safety {background:#fff9ec;border-left:4px solid #b87720;padding:10px 13px;color:#543817;margin-top:14px}
.tph-ot .tph-ot-link {display:inline-block;color:#155847;font-weight:800;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.tph-ot .tph-ot-link:hover {color:#0b372c}
.tph-ot .tph-ot-fine {font-size:13px;color:#51645d;line-height:1.55}
.tph-ot .tph-ot-result .tph-ot-fine {margin-top:14px;margin-bottom:0}
.tph-ot .tph-ot-age-tabs {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.tph-ot .tph-ot-age-tab {padding:9px 14px;background:#fff;border:1px solid #99b6a8;color:#224d3e;border-radius:10px;font-size:14px;font-weight:700}
.tph-ot .tph-ot-age-tab[aria-pressed="true"] {background:#255b4d;color:#fff;border-color:#255b4d}
.tph-ot .tph-ot-age-tab:hover:not([aria-pressed="true"]) {background:#edf6ef}
.tph-ot .tph-ot-age-output {background:var(--tph-sand);padding:20px;border-radius:14px}
.tph-ot .tph-ot-age-output ul {margin:12px 0 15px 0;padding-left:23px}
.tph-ot .tph-ot-age-output li {margin-bottom:7px;color:#36483f}
.tph-ot .tph-ot-groom-list {padding:0;list-style:none;margin:18px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.tph-ot .tph-ot-groom-list li {margin:0;background:#fff;border:1px solid var(--tph-line);border-radius:10px;padding:9px 12px}
.tph-ot .tph-ot-groom-list label {display:flex;align-items:flex-start;gap:10px;line-height:1.45;font-weight:500}
.tph-ot input[type="checkbox"] {accent-color:#275b4c;width:18px;height:18px;flex:none;margin-top:2px}
.tph-ot input[type="checkbox"]:checked + span {text-decoration:line-through;color:#51645d}
.tph-ot .tph-ot-groom-results {margin-top:22px;border-top:1px solid var(--tph-line);padding-top:22px}
.tph-ot .tph-ot-actions {display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.tph-ot .tph-ot-tracker-config {margin-bottom:20px}
.tph-ot .tph-ot-tracker-days {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.tph-ot .tph-ot-day {border:1px solid var(--tph-line);border-radius:14px;background:#fff;padding:14px;display:grid;grid-template-columns:130px 1fr;gap:10px}
.tph-ot .tph-ot-day-heading {font-weight:800;color:#285a4c;grid-column:1/-1}
.tph-ot .tph-ot-day label:last-child {min-width:0}
.tph-ot .tph-ot-day label input {font-size:14px}
.tph-ot .tph-ot-remember {margin:20px 0 5px;display:flex;align-items:center;gap:9px}
.tph-ot .tph-ot-tracker-status {font-size:13px;color:#275b4c;margin:12px 0 0}
.tph-ot [hidden] {display:none !important}
#tph-ot-print-sheet {display:none}
@media(max-width:760px){
.tph-ot .tph-ot-fields,.tph-ot .tph-ot-solver .tph-ot-fields,.tph-ot .tph-ot-tracker-days,.tph-ot .tph-ot-groom-list {grid-template-columns:1fr}
.tph-ot .tph-ot-day {grid-template-columns:90px minmax(0,1fr)}
.tph-ot .tph-ot-nav a {font-size:13px;padding:8px 12px}
.tph-ot .tph-ot-panel {border-radius:16px}
}
@media print {
body.tph-ot-printing * {visibility:hidden !important}
body.tph-ot-printing #tph-ot-print-sheet,
body.tph-ot-printing #tph-ot-print-sheet * {visibility:visible !important}
body.tph-ot-printing #tph-ot-print-sheet {display:block !important;position:absolute;left:0;top:0;width:100%;background:white;color:#111;padding:18px;font:14px/1.55 Arial,sans-serif}
#tph-ot-print-sheet h1 {font-size:22px;margin-bottom:14px}
#tph-ot-print-sheet table {border-collapse:collapse;width:100%;table-layout:fixed}
#tph-ot-print-sheet th,#tph-ot-print-sheet td {border:1px solid #777;padding:6px;word-wrap:break-word;text-align:left}
#tph-ot-print-sheet .tph-ot-print-foot {margin-top:20px;font-size:11px}
#tph-ot-print-sheet .tph-ot-groom-list {display:block;list-style:none;padding:0}
#tph-ot-print-sheet .tph-ot-groom-list li {margin-bottom:8px}
}
@media(prefers-reduced-motion:reduce){.tph-ot * {scroll-behavior:auto !important;transition:none !important}}
.tph-ot .tph-ot-welcome {display:grid;grid-template-columns:minmax(0,1fr) 176px;align-items:center;gap:22px}
.tph-ot .tph-ot-ziggy-photo {width:176px;height:196px;object-fit:cover;object-position:50% 19%;border:4px solid #fff;border-radius:18px;box-shadow:0 8px 20px rgba(39,67,52,.16)}
@media(max-width:520px){.tph-ot .tph-ot-welcome {grid-template-columns:minmax(0,1fr);gap:12px}.tph-ot .tph-ot-ziggy-photo {width:118px;height:125px;grid-row:1;justify-self:start}}