.tn-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}.tn-wrap{width:100%;max-width:720px;margin:0 auto;padding-left:clamp(20px,5vw,40px);padding-right:clamp(20px,5vw,40px)}.tn-nav{display:flex;align-items:center;gap:16px;padding-top:18px;padding-bottom:18px;border-bottom:1px solid var(--color-divider)}.tn-brand{display:flex;flex-direction:column;line-height:1.05;margin-right:auto;text-decoration:none;color:var(--color-text)}.tn-brand-name{font-family:var(--font-heading);font-size:19px;letter-spacing:-.01em}.tn-brand-role{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;margin-top:3px}.tn-back,.tn-brand-role{color:var(--color-accent-700)}.tn-back{font-size:14px;text-decoration:none;flex:none}.tn-back:hover{color:var(--color-accent-800)}.tn-main{flex:1 1;padding-top:clamp(28px,6vw,48px);padding-bottom:clamp(48px,8vw,80px)}.tn-kicker{display:block;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent-700);font-weight:600}.tn-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:clamp(32px,8vw,46px);line-height:1.05;letter-spacing:-.015em;margin:14px 0 0}.tn-lead{font-size:16px;line-height:1.6;margin:16px 0 0;max-width:46ch;color:color-mix(in srgb,var(--color-text) 78%,transparent)}.tn-panel{background:var(--color-surface);border-radius:calc(var(--radius-lg) * 1.15);padding:clamp(20px,5vw,30px);box-shadow:var(--shadow-sm);margin-top:clamp(24px,5vw,34px)}.tn-panel-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:21px;line-height:1.2;margin:0}.tn-panel-hint{font-size:14px;line-height:1.55;margin:8px 0 0;color:color-mix(in srgb,var(--color-text) 68%,transparent)}.tn-days{display:flex;gap:10px;margin-top:18px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:6px;margin-left:calc(-1 * clamp(20px, 5vw, 30px));margin-right:calc(-1 * clamp(20px, 5vw, 30px));padding-left:clamp(20px,5vw,30px);padding-right:clamp(20px,5vw,30px);scrollbar-width:none;-ms-overflow-style:none}.tn-days::-webkit-scrollbar{display:none}.tn-day{flex:none;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:76px;padding:11px 14px;border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font:inherit;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.tn-day:hover{border-color:var(--color-accent)}.tn-day-weekday{font-size:12px;text-transform:capitalize;opacity:.7}.tn-day-date{font-family:var(--font-heading);font-size:16px}.tn-day[aria-pressed=true]{background:var(--color-accent-500);border-color:var(--color-accent-600);color:var(--color-text)}.tn-day[aria-pressed=true] .tn-day-weekday{opacity:.85}.tn-slots-heading{font-size:15px;margin-top:28px;padding-top:22px;border-top:1px solid var(--color-divider)}.tn-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));grid-gap:10px;gap:10px;margin-top:18px}.tn-slot{padding:12px 10px;border:1px solid var(--color-divider);border-radius:999px;background:var(--color-bg);color:var(--color-text);font-family:var(--font-heading);font-size:16px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.tn-slot:hover{border-color:var(--color-accent)}.tn-slot[aria-pressed=true]{background:var(--color-accent-500);border-color:var(--color-accent-600);color:var(--color-text)}.tn-slot--busy{background:var(--color-neutral-400);color:var(--color-neutral-800);text-decoration:line-through;-webkit-text-decoration-color:var(--color-neutral-600);text-decoration-color:var(--color-neutral-600);cursor:not-allowed}.tn-slot--busy,.tn-slot--busy:hover{border-color:var(--color-neutral-500)}.tn-form{gap:18px;margin-top:20px}.tn-field,.tn-form{display:flex;flex-direction:column}.tn-field{gap:6px}.tn-label{font-size:14px;font-weight:600}.tn-help{font-size:13px;line-height:1.5;color:color-mix(in srgb,var(--color-text) 64%,transparent)}.tn-input{width:100%;min-height:46px;padding:11px 16px;font:inherit;font-size:16px;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:999px;caret-color:var(--color-accent)}textarea.tn-input{border-radius:var(--radius-md);min-height:92px;resize:vertical}.tn-input:hover{border-color:color-mix(in srgb,var(--color-text) 40%,transparent)}.tn-input:focus-visible{border-color:var(--color-accent);outline:2px solid var(--color-accent);outline-offset:1px}.tn-input[aria-invalid=true]{border-color:var(--color-accent-700)}.tn-modality{display:flex;gap:10px;flex-wrap:wrap}.tn-modality-opt{flex:1 1 130px;display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border:1px solid var(--color-divider);border-radius:999px;background:var(--color-bg);font-size:15px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.tn-modality-opt input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.tn-modality-opt:hover{border-color:var(--color-accent)}.tn-modality-opt--off{background:var(--color-neutral-400);color:var(--color-neutral-800);cursor:not-allowed}.tn-modality-opt--off,.tn-modality-opt--off:hover{border-color:var(--color-neutral-500)}.tn-modality-opt:has(input:checked){background:var(--color-accent-500);border-color:var(--color-accent-600);color:var(--color-text)}.tn-modality-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.tn-error{font-size:13.5px;line-height:1.5}.tn-alert,.tn-error{color:var(--color-accent-800)}.tn-alert{display:block;font-size:14.5px;line-height:1.55;background:var(--color-accent-100);border:1px solid var(--color-accent-300);border-radius:var(--radius-md);padding:12px 16px}.tn-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 28px;border:1px solid transparent;border-radius:999px;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:16px;line-height:1.2;cursor:pointer;text-decoration:none;transition:background .25s ease,transform .25s ease,box-shadow .25s ease}.tn-btn-primary{background:var(--color-accent);color:var(--color-bg);box-shadow:var(--shadow-sm)}.tn-btn-primary:hover{background:var(--color-accent-600);transform:translateY(-2px);box-shadow:var(--shadow-md)}.tn-btn-primary:disabled{opacity:.55;cursor:progress;transform:none;box-shadow:var(--shadow-sm)}.tn-btn-secondary{border-color:var(--color-divider);color:var(--color-text);background:transparent}.tn-btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.tn-btn-block{width:100%}.tn-actions{display:flex;flex-wrap:wrap;gap:12px}.tn-actions>*{flex:1 1 190px}.tn-disclaimer{font-size:13.5px;line-height:1.55;margin:0;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.tn-chosen{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;background:var(--color-accent-100);border-radius:var(--radius-md);padding:12px 16px;font-size:15px}.tn-chosen-when{font-family:var(--font-heading);font-size:17px}.tn-chosen-when:first-letter{text-transform:uppercase}.tn-chosen-change{margin-left:auto;background:none;border:0;padding:0;font:inherit;font-size:14px;color:var(--color-accent-700);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.tn-result{background:var(--color-surface);border-radius:calc(var(--radius-lg) * 1.15);padding:clamp(24px,6vw,40px);box-shadow:var(--shadow-sm);margin-top:clamp(24px,5vw,34px)}.tn-result-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:clamp(26px,6.5vw,34px);line-height:1.1;margin:0}.tn-result-body{font-size:16px;line-height:1.65;margin:16px 0 0;color:color-mix(in srgb,var(--color-text) 82%,transparent)}.tn-result-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.tn-result-link{font-size:14.5px;color:var(--color-accent-700);text-underline-offset:3px}.tn-empty{font-size:15.5px;line-height:1.6;margin:16px 0 0;color:color-mix(in srgb,var(--color-text) 72%,transparent)}.tn-footer{border-top:1px solid var(--color-divider);padding-top:26px;padding-bottom:34px;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 58%,transparent)}@media (prefers-reduced-motion:reduce){.tn-btn,.tn-day,.tn-modality-opt,.tn-slot{transition:none}.tn-btn-primary:hover{transform:none}}