@import "https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600;700&family=Share+Tech+Mono&family=Noto+Sans+JP:wght@400;700&display=swap";
.tf-page{--tf-red:#d12b29;--tf-red-hi:#ff4b47;--tf-amber:#e2cd26;--tf-bg:#0a0507;--tf-panel:#140a0cb8;--tf-text:#f6ecec;--tf-dim:#8d7a7c;background:radial-gradient(1100px 620px at 50% -8%,#2a0d10 0%,#2a0d1000 62%),linear-gradient(180deg,#120709 0%,var(--tf-bg)58%),var(--tf-bg);min-height:100dvh;color:var(--tf-text);padding:28px 18px calc(28px + env(safe-area-inset-bottom));-webkit-font-smoothing:antialiased;flex-direction:column;justify-content:center;align-items:center;font-family:Rajdhani,system-ui,-apple-system,sans-serif;display:flex;position:relative;overflow:hidden}.tf-page *,.tf-page :before,.tf-page :after{box-sizing:border-box}.tf-bg{pointer-events:none;z-index:0;position:fixed;inset:0}.tf-bg-waves{--c:#d12b2930;background-image:radial-gradient(circle at 50% 100%,transparent 20%,var(--c)21%,var(--c)23.5%,transparent 24.5%,transparent 44%,var(--c)45%,var(--c)47.5%,transparent 48.5%);background-size:72px 36px;animation:18s linear infinite tf-wave-roll;position:absolute;inset:-40px;-webkit-mask-image:radial-gradient(circle at 50% 46%,#000 0%,#0000004d 58%,#0000 84%);mask-image:radial-gradient(circle at 50% 46%,#000 0%,#0000004d 58%,#0000 84%)}@keyframes tf-wave-roll{0%{background-position:0 0}to{background-position:72px 0}}.tf-bg-glow{filter:blur(85px);opacity:.45;mix-blend-mode:screen;border-radius:50%;width:62vw;max-width:700px;height:62vw;max-height:700px;position:absolute}.tf-bg-glow.g1{background:radial-gradient(circle,#d12b299e,#0000 68%);animation:17s ease-in-out infinite alternate tf-drift-a;top:-16%;left:-12%}.tf-bg-glow.g2{background:radial-gradient(circle,#e2cd2652,#0000 70%);animation:21s ease-in-out infinite alternate tf-drift-b;bottom:-20%;right:-14%}@keyframes tf-drift-a{0%{transform:translate(0)scale(1)}to{transform:translate(16%,10%)scale(1.14)}}@keyframes tf-drift-b{0%{transform:translate(0)scale(1.06)}to{transform:translate(-13%,-9%)scale(1)}}.tf-swell{opacity:.5;width:100%;height:100%;position:absolute;inset:0}.tf-swell .crest{fill:none;stroke:#d12b296b;stroke-width:1.2px;stroke-linecap:round;animation:9s ease-in-out infinite tf-swell-move}.tf-swell .crest:nth-child(2){stroke:#e2cd2642;animation-delay:1.1s}.tf-swell .crest:nth-child(3){animation-delay:2.3s}.tf-swell .crest:nth-child(4){stroke:#e2cd2633;animation-delay:3.4s}@keyframes tf-swell-move{0%,to{opacity:.35;transform:translate(0)}50%{opacity:.85;transform:translate(22px)}}.tf-scan{pointer-events:none;z-index:5;mix-blend-mode:overlay;background:repeating-linear-gradient(#ffffff06 0 1px,#0000 1px 3px);position:fixed;inset:0}.tf-scan:after{content:"";background:linear-gradient(#0000,#d12b2914,#0000);height:20vh;animation:7s linear infinite tf-sweep;position:absolute;left:0;right:0}@keyframes tf-sweep{0%{transform:translateY(-24vh)}to{transform:translateY(124vh)}}.tf-hud{z-index:6;letter-spacing:.18em;text-transform:uppercase;width:100%;max-width:470px;color:var(--tf-dim);justify-content:space-between;align-items:center;margin-bottom:16px;font-family:Share Tech Mono,monospace;font-size:11px;display:flex;position:relative}.tf-hud .jp{letter-spacing:.24em;color:#e2cd26b8;font-family:Noto Sans JP,sans-serif}.tf-hud .dot{background:var(--tf-red);width:7px;height:7px;box-shadow:0 0 9px var(--tf-red);vertical-align:middle;border-radius:50%;margin-right:7px;animation:1.9s ease-in-out infinite tf-blink;display:inline-block}@keyframes tf-blink{0%,to{opacity:1}50%{opacity:.28}}.tf-card{z-index:6;background:var(--tf-panel);-webkit-backdrop-filter:blur(14px);border:1px solid #d12b2933;border-radius:16px;width:100%;max-width:470px;padding:36px 30px 30px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #00000073,0 30px 80px #000000a6,inset 0 1px #ffffff0a}.tf-card:before{content:"";background:linear-gradient(120deg,var(--tf-red)0%,var(--tf-amber)52%,var(--tf-red)100%);background-size:200% 100%;height:2px;animation:4.5s linear infinite tf-line-flow;position:absolute;top:0;left:0;right:0}@keyframes tf-line-flow{0%{background-position:0 0}to{background-position:200% 0}}.tf-card .corner{border:1.5px solid #e2cd2680;width:14px;height:14px;position:absolute}.tf-card .corner.tl{border-bottom:0;border-right:0;top:10px;left:10px}.tf-card .corner.tr{border-bottom:0;border-left:0;top:10px;right:10px}.tf-card .corner.bl{border-top:0;border-right:0;bottom:10px;left:10px}.tf-card .corner.br{border-top:0;border-left:0;bottom:10px;right:10px}.tf-logo{filter:drop-shadow(0 0 18px #d12b298c);width:260px;max-width:82%;height:auto;margin:6px auto 18px;display:block}.tf-kicker{letter-spacing:.42em;text-align:center;color:var(--tf-amber);text-indent:.42em;margin:0 0 10px;font-family:Noto Sans JP,sans-serif;font-size:12px}.tf-title{text-align:center;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin:0 0 8px;font-size:25px;font-weight:700}.tf-sub{text-align:center;color:var(--tf-dim);margin:0 0 22px;font-size:14px;line-height:1.55}.tf-form{flex-direction:column;gap:12px;display:flex}.tf-input{color:#fff;letter-spacing:.22em;text-transform:uppercase;text-align:center;background:#00000073;border:1px solid #d12b2966;border-radius:8px;outline:none;width:100%;padding:15px 16px;font-family:Share Tech Mono,monospace;font-size:1rem;transition:border-color .15s,box-shadow .15s}.tf-input::placeholder{color:#ffffff4d;letter-spacing:.16em}.tf-input:focus{border-color:var(--tf-amber);box-shadow:0 0 0 3px #e2cd2624}.tf-verify-btn{background:linear-gradient(120deg,var(--tf-red)0%,var(--tf-red-hi)100%);color:#fff;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;border:none;border-radius:8px;width:100%;min-height:48px;padding:15px 20px;font-family:Rajdhani,sans-serif;font-size:16px;font-weight:700;transition:filter .15s,box-shadow .15s;box-shadow:0 0 22px #d12b2961}.tf-verify-btn:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 0 30px #d12b298c}.tf-verify-btn:disabled{opacity:.6;cursor:default}.tf-foot{z-index:6;letter-spacing:.2em;color:#8d7a7cb3;text-transform:uppercase;margin-top:20px;font-family:Share Tech Mono,monospace;font-size:10px;position:relative}.tf-modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:1000;background:#040203db;justify-content:center;align-items:center;padding:20px;animation:.18s tf-fade;display:flex;position:fixed;inset:0}@keyframes tf-fade{0%{opacity:0}to{opacity:1}}.tf-modal{text-align:center;background:linear-gradient(#17090b 0%,#0c0507 100%);border:1px solid #d12b294d;border-radius:16px;width:100%;max-width:26rem;padding:40px 28px 32px;animation:.22s cubic-bezier(.2,.9,.3,1.2) tf-pop;position:relative;box-shadow:0 30px 90px #000000bf}@keyframes tf-pop{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}.tf-modal.is-valid{border-color:#e2cd2673}.tf-modal-close{min-width:44px;min-height:44px;color:var(--tf-dim);cursor:pointer;background:0 0;border:none;font-size:1.7rem;line-height:1;position:absolute;top:6px;right:10px}.tf-modal-mark{border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto;font-size:2rem;font-weight:700;display:flex}.tf-modal-mark.ok{color:var(--tf-amber);border:2px solid #e2cd268c;box-shadow:0 0 26px #e2cd2647}.tf-modal-mark.bad{color:var(--tf-red-hi);border:2px solid #d12b298c;box-shadow:0 0 26px #d12b294d}.tf-modal-jp{letter-spacing:.4em;color:#e2cd26bf;text-indent:.4em;margin:16px 0 6px;font-family:Noto Sans JP,sans-serif;font-size:11px}.tf-modal h5{color:#fff;margin:0;font-size:1.05rem;font-weight:600;line-height:1.5}.tf-modal-logo{filter:drop-shadow(0 0 14px #d12b2980);width:180px;max-width:70%;height:auto;margin:20px auto 0}.tf-serial{color:var(--tf-dim);letter-spacing:.16em;word-break:break-all;margin:14px 0 0;font-family:Share Tech Mono,monospace;font-size:.8rem}@media screen and (max-width:420px){.tf-card{padding:30px 20px 26px}.tf-title{font-size:21px}.tf-hud{letter-spacing:.12em;font-size:10px}}@media (prefers-reduced-motion:reduce){.tf-bg-waves,.tf-bg-glow,.tf-swell .crest,.tf-scan:after,.tf-card:before,.tf-hud .dot{animation:none}}
