:root{color-scheme:dark;--bg:#080f1e;--text:#f5f8ff;--muted:#93a4bf;--line:rgba(154,180,220,.15);--green:#b0f260}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse 68% 39% at 87% 13%,rgba(51,75,123,.24),transparent 75%),radial-gradient(ellipse 50% 42% at 9% 59%,rgba(16,81,113,.16),transparent 80%),var(--bg);color:var(--text);font-family:Inter,'Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}
button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #b0f260;outline-offset:4px}
.site-shell{min-height:100vh;display:flex;flex-direction:column}.main-header{height:84px;max-width:1312px;width:100%;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.home-logo{display:inline-flex;gap:13px;align-items:center;text-decoration:none}.logo-mark{font-size:27px;font-weight:950;line-height:1;letter-spacing:-3px;width:47px;height:47px;display:grid;place-items:center;border-radius:13px;color:#091425;background:var(--green);box-shadow:0 4px 30px #b0f26022}.logo-mark span{color:#486624;font-size:16px;vertical-align:super}.home-logo strong{font-size:17px;letter-spacing:.09em}.home-logo small{display:block;color:var(--muted);font-size:9px;letter-spacing:.18em;font-weight:800;margin-top:2px}.header-actions{display:flex;align-items:center;gap:18px}.header-label{font-size:10px;letter-spacing:.14em;color:#8fa5c4;font-weight:800}.online-dot{display:inline-block;width:7px;height:7px;margin-right:10px;background:var(--green);border-radius:50%;box-shadow:0 0 15px #b0f270}.header-home{border:1px solid var(--line);background:#16243a;color:white;border-radius:9px;padding:9px 15px}
main{max-width:1300px;width:100%;margin:0 auto;padding:0 40px;flex:1}.hero{padding:85px 0 70px;position:relative}.hero:after{content:'TFMS';position:absolute;right:0;top:50px;font-weight:1000;font-size:clamp(7rem,18vw,17rem);letter-spacing:-.09em;line-height:1;color:rgba(162,192,231,.035);pointer-events:none;z-index:-1}.eyebrow,.overline{font-size:11px;font-weight:850;letter-spacing:.2em;color:var(--green)}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow-line{width:28px;height:2px;background:var(--green)}h1{margin:16px 0 20px;font-size:clamp(2.8rem,6vw,5rem);line-height:1.09;letter-spacing:-.07em;font-weight:860}h1 em{font-style:normal;color:var(--green)}.hero p{max-width:540px;color:#a8b6cd;font-size:16px;margin:0;line-height:1.75}.hero-metrics{display:flex;align-items:center;gap:20px;margin-top:34px;color:#a2b3cb;font-size:10px;font-weight:850;letter-spacing:.12em}.hero-metrics strong{font-size:19px;color:#fff;margin-right:5px;letter-spacing:0}.hero-metrics i{height:20px;border-left:1px solid var(--line)}.apps-section{padding-bottom:48px}.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:27px}.section-title h2{font-size:28px;margin:6px 0 0;letter-spacing:-.045em}.counter{font-size:12px;color:#8fa3c1}.app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.app-card{position:relative;min-height:286px;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;padding:22px 24px 20px;border-radius:18px;background:linear-gradient(160deg,rgba(27,41,62,.96),rgba(13,22,37,.99));border:1px solid #34465b;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;isolation:isolate}.app-card:before{content:'';width:220px;height:220px;position:absolute;right:-84px;top:-86px;background:radial-gradient(circle,var(--accent),transparent 69%);opacity:.14;z-index:-1}.app-card:after{content:'';position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--accent),transparent 76%);opacity:.6}.app-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 40%,#34465b);box-shadow:0 24px 45px rgba(0,0,0,.25)}.card-top{display:flex;justify-content:space-between;align-items:center}.card-tag{font-size:10px;font-weight:760;letter-spacing:.06em;color:#92a8c7;border:1px solid #35475e;padding:5px 9px;border-radius:6px}.card-number{font-size:12px;color:#5d718d;font-weight:900}.card-icon{height:78px;width:90px;display:flex;align-items:center;justify-content:flex-start;margin:16px 0 8px}.card-icon img{display:block;max-height:73px;max-width:88px;object-fit:contain;border-radius:12px}.fctv-mark{font-weight:900;font-size:54px;color:var(--accent);letter-spacing:-.09em}.fctv-mark span{color:#fff;font-size:22px;letter-spacing:-.07em}.card-name{font-size:24px;letter-spacing:-.035em;font-weight:820}.card-description{margin-top:4px;font-size:13px;color:#9caec7}.card-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center;color:#e4eefb;font-size:12px;font-weight:760;padding-top:20px}.card-arrow{font-size:17px;color:var(--accent)}.main-footer{max-width:1300px;width:100%;padding:20px 40px 26px;margin:0 auto;display:flex;justify-content:space-between;color:#788ca9;font-size:12px;border-top:1px solid var(--line)}
.viewer{max-width:none;flex:1;min-height:0;display:flex;flex-direction:column}.viewer[hidden],main[hidden]{display:none!important}.viewer-toolbar{min-height:63px;border-bottom:1px solid var(--line);padding:10px 32px;display:flex;justify-content:space-between;align-items:center;background:#0e1a2c;gap:14px}.viewer-left,.viewer-right{display:flex;align-items:center;gap:14px}.viewer-left{min-width:0}.viewer-back,.viewer-tool{border:1px solid #34465c;background:#16283e;color:#f5f8ff;border-radius:9px;padding:9px 14px;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}.viewer-back:hover,.viewer-tool:hover{background:#263e58}.viewer-title{font-weight:800;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-sep{height:24px;border-left:1px solid var(--line)}.frame-wrap{position:relative;flex:1;min-height:650px;background:#080e1c}.frame-wrap iframe{display:block;border:0;width:100%;height:calc(100vh - 84px - 63px - 63px);min-height:650px;background:#0b1525}.frame-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:14px;color:#aebcd0;background:#0d1727;font-size:14px;z-index:3}.frame-loading[hidden]{display:none!important}.spinner{border:3px solid #3b5573;border-top-color:var(--green);width:26px;height:26px;border-radius:50%;animation:rotate .7s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}
@media(max-width:930px){.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding:60px 0}.hero:after{font-size:13vw}}
@media(max-width:620px){.main-header{height:70px;padding:0 18px}.home-logo strong{font-size:14px}.home-logo small{font-size:8px}.logo-mark{width:41px;height:41px}.header-label{font-size:9px;letter-spacing:0}.header-label .online-dot{margin-right:4px}main{padding:0 17px}.hero{padding:47px 0 50px}.hero h1{font-size:clamp(2.6rem,11vw,3.7rem)}.hero p{font-size:14px}.hero:after{display:none}.hero-metrics{gap:12px;font-size:9px;flex-wrap:wrap}.hero-metrics strong{font-size:16px}.section-title h2{font-size:24px}.counter{font-size:10px}.app-grid{grid-template-columns:1fr;gap:13px}.app-card{min-height:250px;padding:20px}.card-icon{height:62px;margin:12px 0 8px}.card-icon img{max-height:60px}.main-footer{padding:17px;gap:8px;flex-direction:column}.viewer-toolbar{padding:10px 12px;gap:8px}.viewer-left,.viewer-right{gap:7px}.viewer-back,.viewer-tool{padding:8px 9px;font-size:12px}.viewer-title{font-size:12px}.viewer-tool span,.viewer-sep{display:none}.frame-wrap,.frame-wrap iframe{min-height:calc(100vh - 160px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}

/* Simplified layout: no hub navigation bars or external/open-separately controls. */
.site-shell{min-height:100vh}
body.app-open .main-footer{display:none}
body.app-open .site-shell{min-height:100dvh}
.viewer{min-height:100dvh}
.frame-wrap{flex:1;min-height:100dvh}
.frame-wrap iframe{height:100dvh;min-height:100dvh}
@media(max-width:620px){.frame-wrap,.frame-wrap iframe{min-height:100dvh}}

/* Clean dashboard: app tiles begin immediately, without intro or collection heading. */
.apps-section{padding-top:38px}
@media(max-width:620px){.apps-section{padding-top:20px}}
