:root{--font-sans: "Spline Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Pretendard", Roboto, "Noto Sans KR", sans-serif;--color-base: #000000;--color-surface-default: #141414;--color-surface-subtle: rgb(255 255 255 / .05);--color-surface-elevated: #1c1c1c;--color-accent: #2fb27a;--color-accent-hover: #1e8f5e;--color-accent-subtle: rgb(47 178 122 / .16);--color-content-primary: #ffffff;--color-content-secondary: #808080;--color-content-disabled: #4a4a4a;--color-danger: #e85d5d;--color-danger-subtle: rgb(232 93 93 / .16);--shadow-soft-md: 0 4px 12px rgb(0 0 0 / .08);--shadow-soft-lg: 0 8px 24px rgb(0 0 0 / .16);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--font-size-body: 15px;--font-size-label: 13px;--font-size-h2: 22px;--font-size-h3: 17px;--line-height-body: 1.5}.tl-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4);font-family:var(--font-sans)}.tl-label{font-size:var(--font-size-label);color:var(--color-content-secondary);font-weight:500}.tl-label [data-required]{color:var(--color-accent);margin-left:var(--space-1)}.tl-input{font-family:var(--font-sans);font-size:var(--font-size-body);color:var(--color-content-primary);background:var(--color-surface-default);border:1px solid var(--color-surface-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);width:100%;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.tl-input:focus,.tl-input:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.tl-input[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-subtle)}.tl-input::placeholder{color:var(--color-content-disabled)}.tl-textarea{font-family:var(--font-sans);font-size:var(--font-size-body);color:var(--color-content-primary);background:var(--color-surface-default);border:1px solid var(--color-surface-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);width:100%;outline:none;resize:vertical;min-height:96px;transition:border-color .12s ease,box-shadow .12s ease}.tl-textarea:focus,.tl-textarea:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.tl-textarea[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-subtle)}.tl-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface-default);border:1px solid var(--color-surface-subtle);border-radius:var(--radius-md);color:var(--color-content-primary);cursor:pointer;margin-top:var(--space-2)}.tl-option:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-subtle)}.tl-error{font-size:var(--font-size-label);color:var(--color-danger)}.tl-link{font-size:var(--font-size-label);color:var(--color-accent);text-decoration:underline}.tl-link:hover{color:var(--color-accent-hover)}.tl-heading-2{font-family:var(--font-sans);font-size:var(--font-size-h2);color:var(--color-content-primary);font-weight:600;margin:var(--space-5) 0 var(--space-3)}.tl-heading-3{font-family:var(--font-sans);font-size:var(--font-size-h3);color:var(--color-content-primary);font-weight:600;margin:var(--space-4) 0 var(--space-2)}.tl-section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--color-surface-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft-md);margin-bottom:var(--space-5)}.tl-section-title{font-size:var(--font-size-h3);color:var(--color-content-primary);font-weight:600}.tl-section-description{font-size:var(--font-size-body);color:var(--color-content-secondary);line-height:var(--line-height-body)}.tl-page{background:var(--color-base);color:var(--color-content-primary);font-family:var(--font-sans);min-height:100vh;padding:var(--space-6) var(--space-5);max-width:720px;margin:0 auto}.tl-shell-builder{display:grid;grid-template-columns:280px 1fr 320px;gap:var(--space-4);min-height:100vh;background:var(--color-base);color:var(--color-content-primary);font-family:var(--font-sans)}.tl-shell-builder-panel{background:var(--color-surface-default);padding:var(--space-5);overflow-y:auto}.tl-shell-renderer{background:var(--color-base);color:var(--color-content-primary);font-family:var(--font-sans);min-height:100vh}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{background:var(--color-base);color:var(--color-content-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}button{border:0;background:transparent;cursor:pointer}a{color:var(--color-accent);text-decoration:none}a:hover,a:focus-visible{color:var(--color-accent-hover);text-decoration:underline}.tf-lang-switcher .tf-popover-trigger{min-width:0;min-height:36px;padding:6px 12px;font-size:13px;background:#ffffff0f}.tf-lang-trigger{display:inline-flex;align-items:center;gap:6px}.tf-lang-flag{font-size:16px;line-height:1}.tf-lang-label{font-size:13px;color:var(--color-content-secondary)}.tf-shell{position:relative;display:flex;flex-direction:column;width:100%;min-height:100dvh;max-width:720px;margin:0 auto;padding:20px 20px calc(20px + env(safe-area-inset-bottom));box-sizing:border-box}@media (min-width: 640px){.tf-shell{padding:40px 40px calc(40px + env(safe-area-inset-bottom))}}.tf-progress{position:absolute;top:0;left:0;right:0;height:3px;background:#ffffff0d;overflow:hidden}.tf-progress-bar{height:100%;background:var(--color-accent);transition:width .28s cubic-bezier(.22,1,.36,1)}.tf-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--color-content-secondary);letter-spacing:-.01em;margin-bottom:24px}.tf-stage{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:320px;padding-block:24px;animation:tf-step-in .38s cubic-bezier(.22,1,.36,1) both}.tf-stage[data-direction=backward]{animation-name:tf-step-in-back}@keyframes tf-step-in{0%{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes tf-step-in-back{0%{opacity:0;transform:translate3d(0,-10px,0)}to{opacity:1;transform:translateZ(0)}}.tf-step{display:flex;flex-direction:column;gap:16px}.tf-step-page{gap:12px}.tf-step-page .tf-page-title{font-size:clamp(22px,5vw,28px);margin-bottom:4px}.tf-step-page .tf-page-stack{display:flex;flex-direction:column;gap:28px;margin-top:12px}.tf-step-page .tf-step-field .tf-title{font-size:clamp(16px,3.5vw,18px);font-weight:600}.tf-step-page .tf-step-field .tf-step-meta{margin-top:-2px}.tf-step-page .tf-step-field .tf-input-wrap{margin-top:4px}.tf-step-header{display:flex;flex-direction:column;gap:8px}.tf-title{font-family:var(--font-sans);font-size:clamp(24px,5vw,32px);font-weight:600;line-height:1.25;letter-spacing:-.02em;margin:0;color:var(--color-content-primary)}.tf-required{margin-left:4px;color:var(--color-accent);font-weight:500}.tf-subtitle{font-size:15px;color:var(--color-content-secondary);margin:0}.tf-hint{font-size:13px;color:var(--color-content-secondary);margin:0}.tf-step-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tf-step-tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:0;border:1px solid transparent;flex-shrink:0}.tf-step-tag[data-required=true]{background:var(--color-accent-subtle);color:var(--color-accent);border-color:var(--color-accent)}.tf-step-tag[data-required=false]{background:#ffffff0f;color:var(--color-content-secondary)}.tf-input-wrap{display:flex;flex-direction:column;gap:8px;margin-top:8px}.tf-input,.tf-textarea{width:100%;padding:14px 16px;font-size:clamp(18px,4vw,22px);font-weight:500;background:#ffffff0d;border:1px solid transparent;border-radius:14px;color:var(--color-content-primary);outline:none;transition:background-color .2s ease,box-shadow .22s cubic-bezier(.22,1,.36,1)}.tf-input::placeholder,.tf-textarea::placeholder{color:#ffffff40}.tf-input:focus,.tf-input:focus-visible,.tf-textarea:focus,.tf-textarea:focus-visible{background:#ffffff14;box-shadow:inset 0 0 0 1.5px var(--color-accent),0 6px 18px -6px #2fb27a8c}.tf-textarea{min-height:140px;resize:vertical;line-height:1.55}.tf-number-row{display:flex;align-items:baseline;gap:12px}.tf-input-number{max-width:240px}.tf-number-suffix{font-size:18px;color:var(--color-content-secondary)}.tf-slider,.tf-range{display:flex;flex-direction:column;gap:14px;padding:18px 8px 8px}.tf-slider-input{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer;height:24px}.tf-slider-input::-webkit-slider-runnable-track{height:4px;background:linear-gradient(to right,var(--color-accent) 0%,var(--color-accent) var(--tf-slider-progress, 0%),rgb(255 255 255 / .12) var(--tf-slider-progress, 0%),rgb(255 255 255 / .12) 100%);border-radius:999px;transition:background .2s cubic-bezier(.22,1,.36,1)}.tf-slider-input::-moz-range-track{height:4px;background:linear-gradient(to right,var(--color-accent) 0%,var(--color-accent) var(--tf-slider-progress, 0%),rgb(255 255 255 / .12) var(--tf-slider-progress, 0%),rgb(255 255 255 / .12) 100%);border-radius:999px;transition:background .2s cubic-bezier(.22,1,.36,1)}.tf-slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;margin-top:-9px;border-radius:999px;background:var(--color-accent);border:3px solid #000;box-shadow:0 2px 8px #2fb27a66;cursor:grab;transition:transform .12s ease}.tf-slider-input::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.08)}.tf-slider-input::-moz-range-thumb{width:22px;height:22px;border-radius:999px;background:var(--color-accent);border:3px solid #000;box-shadow:0 2px 8px #2fb27a66;cursor:grab;transition:transform .12s ease}.tf-slider-input::-moz-range-thumb:active{cursor:grabbing;transform:scale(1.08)}.tf-slider-input:focus-visible{outline:none}.tf-slider-input:focus-visible::-webkit-slider-thumb{box-shadow:0 2px 8px #2fb27a80,0 0 0 4px var(--color-accent-subtle)}.tf-slider-input:focus-visible::-moz-range-thumb{box-shadow:0 2px 8px #2fb27a80,0 0 0 4px var(--color-accent-subtle)}.tf-slider-meta{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.tf-slider-value{font-size:clamp(22px,5vw,32px);font-weight:700;color:var(--color-accent);font-variant-numeric:tabular-nums;letter-spacing:-.02em;transition:color .2s ease}.tf-slider-bound{font-size:12px;color:var(--color-content-secondary);font-variant-numeric:tabular-nums}.tf-slider-snap .tf-slider-track{position:relative;height:24px}.tf-slider-snap .tf-slider-track:before{content:"";position:absolute;left:0;right:0;top:50%;margin-top:-2px;height:4px;background:#ffffff1f;border-radius:999px;pointer-events:none}.tf-slider-snap .tf-slider-track:after{content:"";position:absolute;left:0;width:var(--tf-slider-progress, 0%);top:50%;margin-top:-2px;height:4px;background:var(--color-accent);border-radius:999px;pointer-events:none;transition:width .22s cubic-bezier(.22,1,.36,1)}.tf-slider-snap .tf-slider-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;margin:0;background:transparent;z-index:2}.tf-slider-snap .tf-slider-input::-webkit-slider-runnable-track{background:transparent;transition:none}.tf-slider-snap .tf-slider-input::-moz-range-track{background:transparent;transition:none}.tf-slider-snap .tf-slider-input::-webkit-slider-thumb{opacity:0;background:transparent;border:0;box-shadow:none}.tf-slider-snap .tf-slider-input::-moz-range-thumb{opacity:0;background:transparent;border:0;box-shadow:none}.tf-slider-thumb{position:absolute;left:var(--tf-slider-progress, 0%);top:50%;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:999px;background:var(--color-accent);border:3px solid #000;box-shadow:0 4px 12px -2px #2fb27a8c;pointer-events:none;transition:left .22s cubic-bezier(.22,1,.36,1),box-shadow .16s ease;z-index:3}.tf-slider-snap .tf-slider-input:active~.tf-slider-thumb,.tf-slider-snap .tf-slider-input:focus-visible~.tf-slider-thumb{box-shadow:0 6px 16px -2px #2fb27aa6,0 0 0 4px var(--color-accent-subtle)}.tf-range-tracks{position:relative;height:24px}.tf-range-tracks:before{content:"";position:absolute;left:var(--tf-range-start, 0%);right:calc(100% - var(--tf-range-end, 100%));top:50%;margin-top:-2px;height:4px;background:var(--color-accent);border-radius:999px;pointer-events:none;transition:left .22s cubic-bezier(.22,1,.36,1),right .22s cubic-bezier(.22,1,.36,1)}.tf-range-tracks:after{content:"";position:absolute;inset:50% 0 auto 0;margin-top:-2px;height:4px;background:#ffffff1f;border-radius:999px;z-index:-1}.tf-range-tracks .tf-slider-input{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:transparent}.tf-range-tracks .tf-slider-input::-webkit-slider-runnable-track{background:transparent;transition:none}.tf-range-tracks .tf-slider-input::-moz-range-track{background:transparent;transition:none}.tf-range-tracks .tf-slider-input::-webkit-slider-thumb{opacity:0;pointer-events:auto}.tf-range-tracks .tf-slider-input::-moz-range-thumb{opacity:0;pointer-events:auto}.tf-range-input-start{z-index:2}.tf-range-input-end{z-index:1}.tf-range-thumb-start,.tf-range-thumb-end{position:absolute;top:50%;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:999px;background:var(--color-accent);border:3px solid #000;box-shadow:0 4px 12px -2px #2fb27a8c;pointer-events:none;transition:left .22s cubic-bezier(.22,1,.36,1),box-shadow .16s ease;z-index:3}.tf-range-thumb-start{left:var(--tf-range-start, 0%)}.tf-range-thumb-end{left:var(--tf-range-end, 100%)}.tf-consent-group{display:flex;flex-direction:column;gap:10px}.tf-consent-master{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#ffffff0d;border:1px solid transparent;border-radius:14px;cursor:pointer;font-weight:600;transition:background-color .2s ease,box-shadow .22s cubic-bezier(.22,1,.36,1)}.tf-consent-master:hover{background:#ffffff14}.tf-consent-master[data-selected=true]{background:var(--color-accent-subtle);box-shadow:inset 0 0 0 1.5px var(--color-accent),0 6px 18px -6px #2fb27a8c}.tf-consent-master input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-accent);flex-shrink:0}.tf-consent-master-label{flex:1;font-size:15px}.tf-consent-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.tf-consent-item{background:#ffffff0a;border:1px solid transparent;border-radius:14px;padding:12px 16px;transition:background-color .2s ease,box-shadow .22s cubic-bezier(.22,1,.36,1)}.tf-consent-item[data-selected=true]{background:var(--color-accent-subtle);box-shadow:inset 0 0 0 1.5px var(--color-accent),0 6px 18px -6px #2fb27a80}.tf-consent-item-row{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.tf-consent-item-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-accent);flex-shrink:0;margin-top:2px}.tf-consent-item-text{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.tf-consent-item-label{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--color-content-primary)}.tf-consent-item-tag{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:999px;font-size:10px;font-weight:600;flex-shrink:0}.tf-consent-item-tag[data-required=true]{background:var(--color-accent-subtle);color:var(--color-accent);border:1px solid var(--color-accent)}.tf-consent-item-tag[data-required=false]{background:#ffffff0f;color:var(--color-content-secondary)}.tf-consent-item-body{font-size:13px;line-height:1.55;color:var(--color-content-secondary)}.tf-consent-item-summary{display:inline}.tf-consent-more{display:inline-flex;align-items:center;padding:0;background:none;border:0;color:var(--color-accent);font-size:13px;font-weight:600;text-decoration:underline;cursor:pointer}.tf-consent-more:hover,.tf-consent-more:focus-visible{color:var(--color-accent-hover);outline:none}.tf-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .2s ease}.tf-modal-backdrop[data-visible=true]{opacity:1}.tf-modal-panel{width:100%;max-width:520px;max-height:min(80dvh,640px);display:flex;flex-direction:column;background:#141414fa;border:1px solid rgb(255 255 255 / .08);border-radius:18px;box-shadow:0 24px 48px #00000080,0 8px 16px #0000004d;overflow:hidden;transform:scale(.94) translateY(8px);opacity:0;transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .2s ease}.tf-modal-backdrop[data-visible=true] .tf-modal-panel{transform:scale(1) translateY(0);opacity:1}.tf-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid rgb(255 255 255 / .06);flex-shrink:0}.tf-modal-title{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--color-content-primary)}.tf-modal-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:#ffffff0d;color:var(--color-content-secondary);font-size:14px;transition:background-color .16s ease,color .16s ease}.tf-modal-close:hover,.tf-modal-close:focus-visible{background:#ffffff1f;color:var(--color-content-primary);outline:none}.tf-modal-body{padding:20px;overflow-y:auto;font-size:14px;line-height:1.65;color:var(--color-content-primary)}.tf-modal-markdown p{margin:0 0 12px;color:#ffffffd9}.tf-modal-markdown p:last-child{margin-bottom:0}@media (max-width: 480px){.tf-modal-backdrop{padding:12px}.tf-modal-panel{max-height:86dvh;border-radius:16px}}.tf-options{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:10px}.tf-option{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;text-align:left;font-size:16px;font-weight:500;background:#ffffff0d;border:1px solid transparent;border-radius:14px;color:var(--color-content-primary);cursor:pointer;transition:background-color .2s ease,box-shadow .22s cubic-bezier(.22,1,.36,1),transform .12s ease}.tf-option:hover{background:#ffffff14}.tf-option:active{transform:scale(.995)}.tf-option[data-selected=true]{background:var(--color-accent-subtle);box-shadow:inset 0 0 0 1.5px var(--color-accent),0 6px 18px -6px #2fb27a8c}.tf-option-key{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#ffffff14;font-size:12px;font-weight:600;letter-spacing:0;color:var(--color-content-secondary);flex-shrink:0}.tf-option[data-selected=true] .tf-option-key{background:var(--color-accent);color:#000}.tf-option-label{flex:1}.tf-option-check{color:var(--color-accent);font-size:18px;font-weight:700}.tf-consent{display:flex;flex-direction:column;gap:12px}.tf-consent-body{background:#ffffff0a;border-radius:14px;padding:16px;font-size:14px;line-height:1.6;color:var(--color-content-secondary);max-height:240px;overflow-y:auto}.tf-consent-body p{margin:0}.tf-consent-link{display:inline-block;padding:12px 0}.tf-consent-agree{cursor:pointer}.tf-consent-agree input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-accent)}.tf-step-intro{gap:12px}.tf-intro-heading{font-family:var(--font-sans);font-size:clamp(28px,6vw,40px);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0;color:var(--color-content-primary)}.tf-intro-heading-sub{font-family:var(--font-sans);font-size:clamp(20px,4.5vw,26px);font-weight:600;letter-spacing:-.01em;line-height:1.25;margin:0;color:var(--color-content-primary)}.tf-intro-section{display:flex;flex-direction:column;gap:6px}.tf-intro-section-title{font-size:17px;font-weight:600;margin:0;color:var(--color-content-primary)}.tf-intro-section-description{font-size:15px;line-height:1.6;margin:0;color:var(--color-content-secondary)}.tf-nav{display:flex;align-items:center;gap:12px;margin-top:32px;padding-top:16px}.tf-nav[data-mode=keyboard]:not([data-force-visible=true]) .tf-nav-next{display:none}.tf-nav[data-mode=keyboard]:not([data-force-visible=true]){justify-content:flex-start}.tf-nav-back{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;background:#ffffff0d;color:var(--color-content-secondary);font-size:18px;transition:background-color .16s ease,color .16s ease}.tf-nav-back:hover:not(:disabled){background:#ffffff1a;color:var(--color-content-primary)}.tf-nav-back:disabled{opacity:.3;cursor:not-allowed}.tf-nav-next{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:999px;background:var(--color-accent);color:#000;font-size:15px;font-weight:600;letter-spacing:-.01em;transition:background-color .16s ease,transform .12s ease}.tf-nav-next:hover:not(:disabled){background:var(--color-accent-hover)}.tf-nav-next:active:not(:disabled){transform:scale(.985)}.tf-nav-next:disabled{opacity:.5;cursor:not-allowed}.tf-error{margin:4px 0 0;font-size:13px;color:var(--color-danger)}.tf-error-slot{margin:4px 0 0;min-height:18px;font-size:13px;line-height:1.4;color:var(--color-danger);opacity:0;transform:translateY(-2px);transition:opacity .18s ease,transform .18s ease;pointer-events:none}.tf-error-slot[data-visible=true]{opacity:1;transform:translateY(0);pointer-events:auto}.tf-step-success{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;padding-block:24px;animation:tf-step-success-in .46s cubic-bezier(.22,1,.36,1) both}@keyframes tf-step-success-in{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.tf-step-success .tf-success-mark{animation:tf-success-pop .52s cubic-bezier(.34,1.56,.64,1) 80ms both}@keyframes tf-success-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.tf-success-mark{width:64px;height:64px;border-radius:999px;background:var(--color-accent);color:#000;font-size:32px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-bottom:4px}.tf-success-mark-muted{background:#ffffff14;color:var(--color-content-secondary)}.tf-unsupported{color:var(--color-content-secondary);font-size:14px;background:#ffffff0a;padding:12px 14px;border-radius:10px}.nf-shell{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:32px 24px calc(32px + env(safe-area-inset-bottom));text-align:center;background:var(--color-base);color:var(--color-content-primary)}.nf-stack{display:flex;flex-direction:column;gap:16px;max-width:480px;width:100%}.nf-code{font-family:var(--font-sans);font-size:clamp(72px,18vw,128px);font-weight:700;line-height:.95;letter-spacing:-.04em;margin:0;color:var(--color-accent)}.nf-title{font-family:var(--font-sans);font-size:clamp(20px,5vw,28px);font-weight:600;line-height:1.2;letter-spacing:-.02em;margin:0;color:var(--color-content-primary)}.nf-message{font-size:15px;line-height:1.6;color:var(--color-content-secondary);margin:0}.tf-otp-row{display:flex;flex-direction:column;gap:8px}.tf-otp-status{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-accent)}.tf-otp-action{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;padding:10px 18px;border-radius:999px;background:#ffffff14;color:var(--color-content-primary);font-size:14px;font-weight:500;transition:background-color .16s ease,transform .12s ease}.tf-otp-action:hover:not(:disabled){background:#ffffff1f}.tf-otp-action:active:not(:disabled){transform:scale(.985)}.tf-otp-action:disabled{opacity:.5;cursor:not-allowed}.tf-otp-resend{align-self:flex-start;font-size:13px;color:var(--color-content-secondary);background:none;padding:0;text-decoration:underline}.tf-otp-resend:hover{color:var(--color-content-primary)}.tf-otp-hint{font-size:13px;color:var(--color-content-secondary);margin:0}.tf-otp-phase{animation:tf-otp-phase-in .24s cubic-bezier(.22,1,.36,1) both}@keyframes tf-otp-phase-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tf-phone-row{display:flex;gap:8px;align-items:stretch}.tf-phone-country{flex:0 0 auto;min-width:140px;max-width:200px}.tf-phone-row>.tf-popover{display:flex}.tf-phone-country-trigger{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans),"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Twemoji Mozilla",sans-serif}.tf-phone-country-flag{font-size:18px;line-height:1}.tf-phone-country-dial{font-variant-numeric:tabular-nums;font-weight:600}.tf-phone-input{flex:1;min-width:0;font-variant-numeric:tabular-nums}@media (max-width: 480px){.tf-phone-row{flex-direction:column}.tf-phone-country{width:100%;max-width:none}}.tf-social-row{display:flex;gap:8px;align-items:stretch}.tf-social-platform{flex:0 0 auto;min-width:140px}.tf-social-platform-trigger,.tf-social-platform-static{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans),"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Twemoji Mozilla",sans-serif}.tf-social-platform-static{padding:0 12px;color:var(--color-fg-muted);font-size:14px;border-radius:10px;background:var(--color-surface-subtle)}.tf-social-prefix{display:inline-flex;align-items:center;padding-left:4px;color:var(--color-fg-muted);font-size:16px;font-weight:500}.tf-social-input{flex:1;min-width:0}@media (max-width: 480px){.tf-social-row{flex-wrap:wrap}.tf-social-platform,.tf-social-platform-static{width:100%}}.tf-popover{position:relative;display:inline-block}.tf-popover-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:52px;padding:12px 14px;background:#ffffff0d;color:var(--color-content-primary);border:1px solid transparent;border-radius:14px;font-size:15px;font-weight:500;outline:none;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.tf-popover-trigger:hover{background:#ffffff14}.tf-popover-trigger:focus-visible,.tf-popover-trigger[aria-expanded=true]{background:#ffffff14;box-shadow:inset 0 0 0 1.5px var(--color-accent),0 6px 18px -6px #2fb27a8c}.tf-popover-trigger-content{display:inline-flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-popover-trigger-chevron{color:var(--color-content-secondary);font-size:11px;flex-shrink:0;transition:transform .16s ease}.tf-popover-trigger[aria-expanded=true] .tf-popover-trigger-chevron{transform:rotate(180deg)}.tf-popover-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:260px;width:max-content;max-width:min(360px,calc(100vw - 32px));display:flex;flex-direction:column;padding:6px;background:#0a0a0af2;border:1px solid rgb(255 255 255 / .08);border-radius:14px;box-shadow:0 8px 24px #0006,0 2px 6px #0000004d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transform-origin:top left;animation:tf-popover-in .18s cubic-bezier(.22,1,.36,1) both}.tf-popover[data-align=end] .tf-popover-panel{left:auto;right:0;transform-origin:top right}@keyframes tf-popover-in{0%{opacity:0;transform:scale(.94) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.tf-popover-search{padding:4px 4px 6px;border-bottom:1px solid rgb(255 255 255 / .06);margin-bottom:4px}.tf-popover-search-input{width:100%;padding:8px 10px;background:#ffffff0d;border:1px solid transparent;border-radius:10px;color:var(--color-content-primary);font-size:14px;outline:none;transition:background-color .16s ease,border-color .16s ease}.tf-popover-search-input::placeholder{color:#ffffff4d}.tf-popover-search-input:focus,.tf-popover-search-input:focus-visible{background:#ffffff14;box-shadow:inset 0 0 0 1.5px var(--color-accent),0 4px 14px -6px #2fb27a80}.tf-popover-list{list-style:none;padding:0;margin:0;max-height:260px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(255 255 255 / .15) transparent}.tf-popover-list:focus,.tf-popover-list:focus-visible{outline:none}.tf-popover-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:500;color:var(--color-content-primary);cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--font-sans),"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Twemoji Mozilla",sans-serif}.tf-popover-option[data-highlighted=true]{background:#ffffff14}.tf-popover-option[data-selected=true]{color:var(--color-accent)}.tf-popover-option-prefix{font-size:18px;line-height:1;flex-shrink:0}.tf-popover-option-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-popover-option-suffix{color:var(--color-content-secondary);font-size:13px;font-variant-numeric:tabular-nums;flex-shrink:0}.tf-popover-option[data-selected=true] .tf-popover-option-suffix{color:var(--color-accent)}.tf-popover-option-check{color:var(--color-accent);font-size:14px;font-weight:700;flex-shrink:0}.tf-popover-empty{padding:16px 12px;margin:0;font-size:13px;color:var(--color-content-secondary);text-align:center}@media (max-width: 480px){.tf-popover-panel{left:0;right:0;min-width:auto;max-width:none}}.tl-done-shell{max-width:720px;margin:0 auto;padding:32px 24px calc(32px + env(safe-area-inset-bottom));min-height:100dvh}
