.tc2{--ink:#211427;--muted:#756579;--line:#ead7e8;--brand:#e9457a;--brand2:#aa1f55;--soft:#faedf7;--ok:#1d6b4d;--shadow:0 26px 70px rgba(58,22,54,.13)}
.tc2 *{box-sizing:border-box}
.tc2 input,.tc2 select,.tc2 button{font:inherit;-webkit-appearance:none;appearance:none}
.tc2 input[type=number]{-moz-appearance:textfield;appearance:textfield}
.tc2 input[type=number]::-webkit-outer-spin-button,
.tc2 input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0;display:none}
.tc2-hero{padding:6px 0 4px}
.tc2-h1{margin:0;max-width:900px;font-size:clamp(29px,4.8vw,50px);line-height:1.04;letter-spacing:-.01em;overflow-wrap:break-word}
.tc2-answer{max-width:790px;margin:16px 0 0;border-left:4px solid var(--brand);border-radius:0 16px 16px 0;background:#fff;padding:14px 18px;box-shadow:0 10px 30px rgba(58,22,54,.06)}
.tc2-answer p{margin:0;font-size:16px}
.tc2-answer b{color:var(--brand2)}
.tc2-meta{margin:12px 0 0;color:var(--muted);font-size:13px}
.tc2-shell{display:grid;grid-template-columns:minmax(320px,500px) minmax(0,1fr);gap:22px;align-items:start;margin:22px 0 34px;min-width:0}
.tc2-card{width:100%;min-width:0;border:1px solid var(--line);border-radius:30px;background:#fffafd;box-shadow:var(--shadow);overflow:hidden}
.tc2-head{padding:24px 24px 16px}
.tc2-kicker{margin:0 0 8px;color:var(--brand2);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.tc2-head h2{margin:0;font-size:clamp(32px,5.5vw,42px);line-height:1.02}
.tc2-field{display:grid;gap:8px;margin-top:18px;color:#6f6073;font-size:16px;font-weight:800;min-width:0}
.tc2-field select,.tc2-field input{width:100%;min-width:0;min-height:60px;border:2px solid #dec6e5;border-radius:20px;background:#fff;color:var(--ink);padding:12px 16px;font-size:23px;font-weight:800;line-height:1.2;outline:0}
.tc2-field select{padding-right:46px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aa1f55' stroke-width='2.4' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 16px center;background-size:16px}
.tc2-field input.tc2-big{height:94px;min-height:0;border-color:#a01965;font-size:clamp(38px,9vw,48px);padding:0 16px;line-height:1;overflow:hidden}
/* page-scoped: this stylesheet ships only with the calculator page */
.site-header .top-nav a{display:inline-flex;align-items:center;min-height:44px}
.breadcrumbs a{display:inline-block;padding:12px 3px;margin:-12px -3px}
.site-footer nav a{display:block;min-height:44px;padding:11px 0;line-height:1.3}
.site-footer .footer-info-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 10px;margin:0 -10px}
.tc2-field select:focus-visible,.tc2-field input:focus-visible{border-color:var(--brand2);outline:4px solid rgba(233,69,122,.2)}
.tc2-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tc2-preset{min-height:42px;border:1px solid #dcc4e3;border-radius:999px;background:#fff;padding:8px 15px;color:var(--brand2);font-size:15px;font-weight:800;cursor:pointer}
.tc2-quick{padding:22px 24px;background:#faebff;border-top:1px solid #efdaf5}
.tc2-quick-label{display:block;color:#6e6071;font-size:16px;font-weight:800}
.tc2-quick-main{display:block;margin:6px 0 0;color:#7b008e;font-size:clamp(40px,8.5vw,56px);font-weight:900;line-height:1.02;letter-spacing:-.02em;overflow-wrap:break-word}
.tc2-quick-sub{display:block;margin:6px 0 0;color:#6e6071;font-size:15px;font-weight:800}
.tc2-actions{display:grid;gap:10px;padding:16px 24px 22px}
.tc2-ghost{min-height:54px;border:1px solid #d8bee0;border-radius:18px;background:#fff;color:var(--brand2);font-weight:800;cursor:pointer}
.tc2-adv{display:none;border-top:1px solid var(--line);background:#fff8fc}
.tc2-adv.is-open{display:block}
.tc2-adv-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px;background:var(--brand2);color:#fff}
.tc2-adv-top strong{font-size:18px}
.tc2-adv-top button{min-height:40px;border:0;background:transparent;color:#fff;font-weight:800;cursor:pointer;padding:0 4px}
.tc2-adv-body{padding:20px 22px;min-width:0}
.tc2-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tc2-adv-field{display:grid;gap:6px;margin-bottom:14px;color:#6f6073;font-size:14px;font-weight:800;min-width:0}
.tc2-adv-field input{width:100%;min-width:0;min-height:54px;border:1.5px solid #dcc4e3;border-radius:14px;background:#fff;padding:10px 13px;color:var(--ink);font-size:21px;font-weight:800;line-height:1.2}
.tc2-hint{margin:-2px 0 14px;color:#716376;font-size:13.5px}
.tc2-adv-section{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}
.tc2-adv-section h3{margin:0 0 6px;font-size:18px}
.tc2-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:12px 0;color:#6f6073;font-weight:800}
.tc2-row b{color:#7b008e;font-size:21px;white-space:nowrap}
.tc2-hidden{display:none}
.tc2-side{display:grid;gap:14px;min-width:0}
.tc2-side-card{border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.9);box-shadow:0 18px 48px rgba(58,22,54,.07);padding:20px}
.tc2-side-card h2,.tc2-side-card h3{margin:0 0 8px;font-size:23px;line-height:1.12}
.tc2-side-card p{margin:0;color:var(--muted);font-size:16px}
.tc2-facts{display:grid;gap:9px;margin-top:13px}
.tc2-fact{border:1px solid var(--line);border-radius:14px;padding:12px 13px;background:#fff}
.tc2-fact strong{display:block;margin-bottom:3px;color:var(--ink);font-size:15px}
.tc2-fact span{color:var(--muted);font-size:15px}
.tc2-hist{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.tc2-hist li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:9px 11px;font-size:15px}
.tc2-hist .tc2-hp{color:var(--brand2);font-weight:800}
.tc2-hist .tc2-ht{color:var(--muted);font-size:13px;white-space:nowrap}
.tc2-hist b{color:#7b008e;white-space:nowrap}
.tc2-hist-empty{margin:0;color:var(--muted);font-size:15px}
.tc2-hist-foot{margin-top:13px;padding-top:12px;border-top:1px dashed var(--line)}
.tc2-saved{margin:0;color:var(--muted);font-size:13px}
.tc2-saved-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:6px}
.tc2-linkish{min-height:40px;border:0;background:0;color:var(--brand2);font-size:14px;font-weight:800;cursor:pointer;text-decoration:underline;padding:0;text-align:left}
.tc2-block{margin:0 0 30px;border:1px solid var(--line);border-radius:26px;background:#fff;padding:24px}
.tc2-block h2{margin:0 0 8px;font-size:clamp(23px,3vw,30px);line-height:1.14}
.tc2-block > p{max-width:840px;color:var(--muted);font-size:17px;margin:0 0 4px}
.tc2-table{width:100%;border-collapse:collapse;margin-top:16px;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.tc2-table th,.tc2-table td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:15.5px}
.tc2-table th{background:#fff0f6;color:var(--ink);font-size:14px}
.tc2-table td{color:var(--muted)}
.tc2-table td b{color:var(--ink)}
.tc2-table .tc2-num{color:#7b008e;font-weight:800;white-space:nowrap}
.tc2-note{margin:10px 0 0;color:var(--muted);font-size:13.5px}
.tc2-langswitch{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.tc2-langswitch-hint{color:var(--muted);font-size:14px;flex:1 1 220px;min-width:0}
.tc2-langbtns{display:inline-flex;border:1px solid #dcc4e3;border-radius:999px;background:#fff;padding:3px;gap:3px}
.tc2-langbtn{min-height:38px;border:0;border-radius:999px;background:transparent;color:var(--brand2);padding:8px 16px;font-size:14.5px;font-weight:800;cursor:pointer}
.tc2-langbtn[aria-pressed="true"]{background:var(--brand2);color:#fff}
.tc2-groups{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px}
.tc2-group h3{margin:0 0 4px;font-size:19px}
.tc2-group > p{margin:0 0 10px;color:var(--muted);font-size:14.5px}
.tc2-lines{display:grid;gap:8px}
.tc2-line{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:11px 12px}
.tc2-line span{flex:1;min-width:0;color:#40303f;font-size:15.5px;line-height:1.38;overflow-wrap:break-word}
.tc2-copy{flex:0 0 auto;width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid #e3cfe6;border-radius:12px;background:#fff;color:var(--brand2);cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.tc2-copy.is-done{background:#e7f6ef;border-color:#b6e0cc;color:var(--ok)}
.tc2-copy .tc2-ic{width:18px;height:18px;display:block;pointer-events:none}
.tc2-copy .tc2-ic-check{display:none}
.tc2-copy.is-done .tc2-ic-copy{display:none}
.tc2-copy.is-done .tc2-ic-check{display:block}
.tc2-toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:60;transform:translate(-50%,16px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;display:flex;align-items:center;gap:8px;background:#2a1730;color:#fff;border-radius:999px;padding:11px 17px;font-size:14.5px;font-weight:700;box-shadow:0 14px 34px rgba(42,23,48,.32);max-width:calc(100vw - 32px)}
.tc2-toast.is-show{opacity:1;transform:translate(-50%,0)}
.tc2-toast svg{width:16px;height:16px;flex:0 0 auto}
.tc2-pay{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:16px}
.tc2-pay-card{border:1px solid var(--line);border-radius:16px;background:#fffafd;padding:14px}
.tc2-pay-card strong{display:block;margin-bottom:4px;color:var(--ink)}
.tc2-pay-card p{margin:0;color:var(--muted);font-size:14.5px}
.tc2-faq details{border-bottom:1px solid var(--line)}
.tc2-faq summary{list-style:none;cursor:pointer;font-weight:800;font-size:17px;padding:14px 34px 14px 0;position:relative}
.tc2-faq summary::-webkit-details-marker{display:none}
.tc2-faq summary::after{content:"";position:absolute;right:6px;top:50%;width:10px;height:10px;margin-top:-7px;border-right:2.4px solid var(--brand2);border-bottom:2.4px solid var(--brand2);transform:rotate(45deg);transition:transform .2s}
.tc2-faq details[open] summary::after{transform:rotate(-135deg);margin-top:-3px}
.tc2-faq details p{margin:0 0 14px;color:var(--muted);font-size:16px}
.tc2-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}

/* anchored sections must clear the sticky header */
.tc2-page [id]{scroll-margin-top:74px}
/* --- platform activity windows --- */
.tc2-now{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;border:1px solid var(--line);border-radius:16px;background:#fffafd;padding:13px 14px}
.tc2-now-time{font-size:15px;color:var(--muted)}
.tc2-now-time b{color:var(--ink)}
.tc2-lvl{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 13px;font-size:14.5px;font-weight:800;white-space:nowrap}
.tc2-lvl::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor;flex:0 0 auto}
.tc2-now .tc2-lvl{white-space:normal;max-width:100%;align-items:flex-start}
.tc2-now .tc2-lvl::before{margin-top:6px}
.tc2-lvl-s{background:#e7f6ef;color:#166b4c}
.tc2-lvl-m{background:#fdf3e3;color:#8a5a10}
.tc2-lvl-w{background:#f3eef4;color:#6b5a70}
.tc2-bands{display:grid;gap:9px;margin-top:14px}
.tc2-band{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:12px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px 13px}
.tc2-band.is-now{border-color:var(--brand);box-shadow:0 0 0 2px rgba(233,69,122,.14)}
.tc2-band-hours{color:var(--ink);font-size:15.5px;font-weight:800;overflow-wrap:break-word}
.tc2-band-count{color:var(--muted);font-size:13.5px;white-space:nowrap}
.tc2-daysline{margin:14px 0 0;color:var(--muted);font-size:15px}
.tc2-daysline b{color:var(--ink)}
.tc2-nodata{margin:14px 0 0;border-left:3px solid #dcc4e3;padding:2px 0 2px 12px;color:var(--muted);font-size:15px}
@media(max-width:560px){
  .tc2-band{grid-template-columns:1fr;gap:3px}
  .tc2-band-count{white-space:normal}
}
@media(max-width:900px){
  .tc2-shell{grid-template-columns:minmax(0,1fr)}
  .tc2-card{max-width:520px;margin:0 auto}
  .tc2-grid2{grid-template-columns:1fr}
  .tc2-side{max-width:620px;margin:0 auto}
  .tc2-groups{grid-template-columns:1fr}
}
@media(max-width:560px){
  .tc2-page{display:flex;flex-direction:column}
  .tc2-hero{order:2;padding:4px 0 12px}
  .tc2-shell{order:1;margin:12px 0 22px}
  .tc2-after{order:3}
  .tc2-card{border-radius:24px}
  .tc2-head{padding:20px 17px 14px}
  .tc2-field select,.tc2-field input{min-height:56px;border-radius:16px;font-size:21px}
  .tc2-field input.tc2-big{height:82px}
  .tc2-quick{padding:19px 17px}
  .tc2-actions{padding:14px 17px 20px}
  .tc2-adv-top{padding:13px 17px}
  .tc2-adv-body{padding:17px}
  .tc2-side-card,.tc2-block{padding:16px;border-radius:20px}
  .tc2-side-card h2,.tc2-side-card h3{font-size:21px}
  .tc2-block > p{font-size:16px}
  .tc2-table,.tc2-table tbody,.tc2-table tr,.tc2-table td{display:block;width:100%}
  .tc2-table thead{display:none}
  .tc2-table{border-radius:14px}
  .tc2-table td{border-bottom:0;padding:4px 12px}
  .tc2-table td:first-child{padding-top:12px}
  .tc2-table td:last-child{padding-bottom:12px}
  .tc2-table td::before{content:attr(data-label);display:block;color:var(--brand2);font-size:11.5px;text-transform:uppercase;font-weight:900;margin-bottom:2px;letter-spacing:.04em}
  .tc2-table tr{border-bottom:1px solid var(--line)}
}
@media(prefers-reduced-motion:reduce){.tc2 *{transition:none!important}}
