#asa-portal{--asa-bg:#0a0a0a;--asa-panel:#171717;--asa-border:#363636;--asa-text:#f0f0f0;--asa-muted:#a5a5a5;--asa-gold:#e3e3e3;position:relative;isolation:isolate;background:var(--asa-bg);color:var(--asa-text);font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;padding:16px;box-sizing:border-box;color-scheme:dark;overflow:hidden;min-width:0}
#asa-portal *{box-sizing:border-box}#asa-portal [hidden]{display:none!important}#asa-portal button{font:inherit;color:inherit}#asa-portal button:not(:disabled){cursor:pointer}#asa-portal button:disabled{cursor:not-allowed}#asa-portal button:focus-visible{outline:2px solid var(--asa-gold);outline-offset:5px}#asa-portal h1,#asa-portal h2,#asa-portal h3,#asa-portal p{margin:0}#asa-portal button{touch-action:manipulation}#asa-portal svg{flex-shrink:0}
#asa-portal .asa-hero{position:relative;border-radius:34px;overflow:hidden;background:radial-gradient(ellipse 45% 28% at 50% 49%,#47474775,transparent 95%),radial-gradient(ellipse 80% 65% at 50% 28%,#222222 0%,#121212 60%,#0c0c0c 100%);min-height:890px;border:1px solid #272727}
#asa-portal .asa-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden}#asa-portal .asa-atmosphere:before{content:"";position:absolute;left:12%;right:12%;height:400px;top:80px;background:radial-gradient(ellipse,#96969655 0%,#8f8f8f16 27%,transparent 68%);filter:blur(48px)}#asa-portal .asa-atmosphere:after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent 0px,transparent 3px,#00000011 4px);opacity:.45}
#asa-portal .asa-orbit-line{position:absolute;width:115%;height:440px;left:-7.5%;top:235px;border-top:1px solid #97979728;border-radius:50%;transform:rotate(-8deg)}#asa-portal .asa-orbit-line.second{top:255px;transform:rotate(8deg);border-color:#97979718}
#asa-portal .asa-nav{height:76px;width:min(760px,82%);margin:-1px auto 0;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:20;border-radius:0 0 26px 26px;background:var(--asa-bg);border:1px solid #272727;border-top:0}
#asa-portal .asa-nav:before,#asa-portal .asa-nav:after{content:"";position:absolute;top:0;width:22px;height:24px;border-radius:50%;background:transparent;pointer-events:none}#asa-portal .asa-brand{background:transparent;border:0;padding:4px 0;display:flex;align-items:center;gap:9px;text-align:left;white-space:nowrap}#asa-portal .asa-monogram{font-family:Arial,sans-serif;font-weight:800;font-size:24px;letter-spacing:-3px;display:block;padding-right:3px;color:var(--asa-gold)}#asa-portal .asa-brand strong{font-size:17px;font-weight:650;letter-spacing:-.5px}#asa-portal .asa-brand small{display:block;font-size:10px;letter-spacing:2px;color:#9b9b9b;margin-top:3px}
#asa-portal .asa-links{display:flex;align-items:center;gap:25px}#asa-portal .asa-link{padding:8px 0;border:0;background:none;color:#a6a6a6;font-size:13px;white-space:nowrap}#asa-portal .asa-link[aria-current="page"]{color:var(--asa-text)}#asa-portal .asa-nav-download{border:1px solid #a9a9a9;background:var(--asa-gold);color:#121212;border-radius:22px;font-size:12px;font-weight:600;padding:10px 17px;white-space:nowrap}
#asa-portal .asa-eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;position:relative;z-index:2;color:#acacac;letter-spacing:3px;font:10px/1.5 Consolas,monospace;margin-top:39px}#asa-portal .asa-eyebrow:before{content:"";width:5px;height:5px;background:var(--asa-gold);box-shadow:0 0 10px #b5b5b555}
#asa-portal .asa-fan{height:340px;position:relative;margin:17px auto 0;width:100%;z-index:3;perspective:1000px}
#asa-portal .asa-tool{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1px);width:clamp(120px,16.6%,177px);height:208px;transform:translate(-50%,0) rotate(calc(var(--r)*1deg));border:1px solid #494949;border-radius:17px;background:linear-gradient(150deg,#292929,#181818 63%);box-shadow:0 16px 44px #00000077,inset 0 1px 0 #c4c4c415;text-align:left;padding:14px;display:flex;flex-direction:column;gap:10px;will-change:transform;transition:border-color .18s,box-shadow .18s;overflow:hidden}
/* A shared phase moves cards continuously across the upper semicircle. */
#asa-portal.asa-paused .asa-tool{animation-play-state:paused}#asa-portal .asa-tool:hover,#asa-portal .asa-tool:focus-visible,#asa-portal .asa-tool.asa-selected{border-color:var(--asa-gold);box-shadow:0 16px 44px #00000099,0 0 28px #9c9c9c25;z-index:6}
#asa-portal .asa-tool-top{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:9px;letter-spacing:.5px;color:#b2b2b2}#asa-portal .asa-tool-top i{width:14px;height:14px}#asa-portal .asa-art{position:relative;height:87px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#101010;border:1px solid #373737;border-radius:9px;overflow:hidden;color:var(--asa-gold)}
#asa-portal .asa-art-terminal{padding:9px;display:block;font:9px/1.7 Consolas,monospace}#asa-portal .asa-art-terminal b{font-size:25px;letter-spacing:-2px;color:#e3e3e3;display:block;line-height:1.2}#asa-portal .asa-art-terminal span{color:#989898;display:block;white-space:nowrap}#asa-portal .asa-art-terminal em{font-style:normal;color:#bdbdbd}
#asa-portal .asa-art-clean:before{content:"";position:absolute;inset:11px;background:linear-gradient(150deg,#363636 35%,#a7a7a7 36%,#8d8d8d 51%,#464646 52%,#1e1e1e 72%);clip-path:polygon(0 75%,27% 14%,47% 53%,66% 7%,100% 69%,100% 100%,0 100%)}#asa-portal .asa-art-clean:after{content:"ASA";position:absolute;left:12px;top:23px;font-size:15px;color:#d4d4d477;transform:rotate(-20deg)}#asa-portal .asa-clean-line{position:absolute;left:53%;top:8px;bottom:8px;width:1px;background:#c7c7c7;box-shadow:0 0 12px #bbbbbb}#asa-portal .asa-clean-line:after{content:"";position:absolute;top:47%;left:-3px;width:7px;height:7px;background:#dadada;border-radius:50%}
#asa-portal .asa-art-film{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:12px 8px;background:#121212}#asa-portal .asa-art-film span{height:48px;border-top:4px dotted #c0c0c070;border-bottom:4px dotted #c0c0c070;background:linear-gradient(148deg,#636363,#222222 48%,#7f7f7f 50%,#343434 65%)}#asa-portal .asa-art-film span:nth-child(2){filter:brightness(1.4)}#asa-portal .asa-art-film span:nth-child(3){filter:brightness(.7)}
#asa-portal .asa-art-audio{gap:5px;padding:12px}#asa-portal .asa-art-audio span{display:block;width:5px;border-radius:3px;background:linear-gradient(#c6c6c6,#5c5c5c);height:var(--bar)}#asa-portal .asa-art-ppt{padding:13px;align-items:flex-start;flex-direction:column;background:#a9a9a9;color:#1b1b1b;gap:8px}#asa-portal .asa-art-ppt b{font-size:22px;line-height:1.05;font-weight:550;letter-spacing:-.5px}#asa-portal .asa-art-ppt span{height:2px;width:55%;background:#676767;display:block}#asa-portal .asa-art-ppt span:last-child{width:34%}
#asa-portal .asa-tool-name{display:block;font-size:17px;font-weight:600;line-height:1.2;color:#e8e8e8;letter-spacing:-.5px}#asa-portal .asa-tool-name small{font-size:9px;margin-left:4px;font-weight:400;letter-spacing:0;color:#a5a5a5}#asa-portal .asa-tool-description{font-size:10px;line-height:1.4;color:#afafaf;display:block}#asa-portal .asa-tool-foot{display:flex;justify-content:space-between;align-items:center;color:#b8b8b8;font-size:9px;margin-top:auto}#asa-portal .asa-tool-foot i{width:12px;height:12px}
#asa-portal .asa-hoverline{min-height:28px;text-align:center;font-size:12px;line-height:1.6;color:#b8b8b8;position:relative;z-index:4;margin-top:0;padding:0 22px}#asa-portal .asa-hoverline strong{color:var(--asa-gold);font-weight:500;margin-right:8px}
#asa-portal .asa-copy{position:relative;z-index:3;text-align:center;padding:26px 24px 0}#asa-portal .asa-copy h1{font-size:clamp(34px,5.4vw,68px);font-weight:500;letter-spacing:-2.8px;line-height:1.18;color:#f1f1f1}#asa-portal .asa-copy h1 span{color:#b6b6b6}#asa-portal .asa-copy p{font-size:13px;color:#afafaf;line-height:1.8;margin:22px 0 25px}#asa-portal .asa-ctas{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}#asa-portal .asa-primary,#asa-portal .asa-secondary{border-radius:26px;padding:13px 25px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:13px;line-height:1.2;min-height:44px}#asa-portal .asa-primary{background:var(--asa-gold);border:1px solid #b2b2b2;color:#131313;font-weight:600}#asa-portal .asa-secondary{background:#252525;border:1px solid #4b4b4b;color:#d5d5d5}#asa-portal .asa-primary svg,#asa-portal .asa-secondary svg{width:15px;height:15px}
#asa-portal .asa-hero-bottom{display:flex;align-items:center;justify-content:space-between;margin:62px 32px 23px;padding-top:17px;border-top:1px solid #303030;font-size:10px;color:#8b8b8b;gap:12px;position:relative;z-index:3}#asa-portal .asa-hero-bottom span{display:flex;align-items:center;gap:7px}#asa-portal .asa-hero-bottom svg{width:12px;height:12px}#asa-portal .asa-mini-action{border:0;background:transparent;color:#a9a9a9;padding:3px 0;display:flex;gap:6px;align-items:center;font-size:10px}
#asa-portal .asa-footer{display:flex;justify-content:space-between;gap:16px;padding:21px 10px 7px;font-size:10px;color:#898989;letter-spacing:.4px}#asa-portal .asa-footer div{display:flex;gap:20px;flex-wrap:wrap}#asa-portal .asa-footer button{border:0;padding:0;color:#9f9f9f;background:transparent;font-size:10px}
#asa-portal .asa-subpage{position:relative;z-index:3;padding:66px 58px 60px;min-height:780px}#asa-portal .asa-subpage h1{font-size:42px;font-weight:500;letter-spacing:-1.5px;margin:0 0 16px}#asa-portal .asa-subpage>.asa-subtitle{color:#a6a6a6;line-height:1.8;font-size:14px;max-width:650px;margin-bottom:42px}#asa-portal .asa-library{display:grid;grid-template-columns:1fr 1fr;gap:15px}#asa-portal .asa-library-tool{background:#1a1a1a;border:1px solid #333333;border-radius:15px;padding:22px;text-align:left;min-height:150px}#asa-portal .asa-library-tool .asa-library-head{display:flex;align-items:center;justify-content:space-between;color:var(--asa-gold);margin-bottom:22px;font-size:12px}#asa-portal .asa-library-tool h3{font-size:22px;font-weight:500;margin-bottom:9px}#asa-portal .asa-library-tool p{font-size:12px;color:#a4a4a4;line-height:1.6}#asa-portal .asa-library-tool svg{width:18px;height:18px}#asa-portal .asa-qa{border-top:1px solid #323232;padding:24px 0}#asa-portal .asa-qa h3{font-size:16px;margin-bottom:10px;font-weight:500}#asa-portal .asa-qa p{color:#a4a4a4;font-size:13px;line-height:1.85;max-width:640px}
#asa-portal .asa-modal-layer{position:absolute;inset:0;z-index:60;background:#040404c9;backdrop-filter:blur(13px);display:flex;align-items:flex-start;justify-content:center;padding:140px 22px 30px}#asa-portal .asa-dialog{width:min(620px,100%);padding:30px;background:#181818;border:1px solid #484848;border-radius:24px;box-shadow:0 30px 100px #00000088;position:relative}#asa-portal .asa-close{position:absolute;right:16px;top:15px;width:34px;height:34px;border:1px solid #3b3b3b;border-radius:50%;background:#212121;display:flex;align-items:center;justify-content:center;color:#acacac}#asa-portal .asa-close svg{width:16px;height:16px}#asa-portal .asa-dialog-eyebrow{color:var(--asa-gold);font:10px Consolas,monospace;letter-spacing:2px;margin-bottom:23px}#asa-portal .asa-dialog h2{font-size:31px;font-weight:500;letter-spacing:-1px;margin-bottom:12px}#asa-portal .asa-dialog .asa-detail{font-size:13px;line-height:1.8;color:#ababab;max-width:470px;margin-bottom:23px}#asa-portal .asa-benefits{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}#asa-portal .asa-benefits span{border:1px solid #414141;padding:6px 9px;border-radius:5px;font-size:10px;color:#a9a9a9}#asa-portal .asa-platforms{display:grid;grid-template-columns:1fr 1fr;gap:12px}#asa-portal .asa-platform{border:1px solid #3f3f3f;border-radius:12px;background:#212121;min-height:160px;padding:18px;text-align:left;display:flex;align-items:flex-start;flex-direction:column;gap:12px}#asa-portal .asa-platform:not(:disabled):hover{border-color:var(--asa-gold)}#asa-portal .asa-platform:disabled{background:#1d1d1d;border-color:#323232;color:#838383}#asa-portal .asa-platform svg{width:25px;height:25px;color:var(--asa-gold)}#asa-portal .asa-platform strong{font-size:18px;font-weight:500}#asa-portal .asa-platform small{font-size:11px;color:#a2a2a2;line-height:1.5}#asa-portal .asa-platform .asa-platform-action{font-size:11px;color:var(--asa-gold);margin-top:auto}#asa-portal .asa-platform:disabled svg,#asa-portal .asa-platform:disabled .asa-platform-action{color:#808080}#asa-portal .asa-download-note{margin-top:20px!important;padding-top:17px;border-top:1px solid #343434;color:#9d9d9d;font-size:11px;line-height:1.75}#asa-portal .asa-download-status{color:#c8c8c8;font-size:12px;line-height:1.65;margin-top:14px!important}
#asa-portal .asa-intro{position:absolute;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#090909;color:var(--asa-gold);overflow:hidden;transition:opacity .35s;min-height:650px;cursor:pointer}#asa-portal .asa-intro.asa-intro-fade{opacity:0;pointer-events:none}#asa-portal .asa-intro:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#00000000 0,#00000000 3px,#00000088 4px),radial-gradient(ellipse at center,#8686860b 0%,#00000099 100%);pointer-events:none}#asa-portal .asa-intro-top{position:absolute;top:36px;left:36px;right:36px;display:flex;justify-content:space-between;font:10px/1.5 Consolas,monospace;letter-spacing:2px;color:#7d7d7d}#asa-portal .asa-intro-emblem{position:relative;font-size:clamp(42px,8.5vw,110px);line-height:1.3;font-weight:700;letter-spacing:-3px;color:#e5e5e5;display:flex;align-items:baseline;gap:20px;text-shadow:0 0 30px #adadad36}#asa-portal .asa-intro-emblem span{animation:asa-logo-write 1s cubic-bezier(.4,0,.2,1) both;animation-delay:var(--delay)}#asa-portal .asa-intro-emblem span:nth-child(1){font-family:Arial,sans-serif;font-weight:900;letter-spacing:-8px}#asa-portal .asa-intro-emblem span:nth-child(2){color:var(--asa-gold);font-weight:500}#asa-portal .asa-intro-caption{position:relative;font:11px/1.6 Consolas,monospace;letter-spacing:5px;margin-top:16px;color:#9d9d9d;animation:asa-logo-write 1s 1.3s both}#asa-portal .asa-intro-loader{height:1px;width:min(370px,62%);background:#373737;position:relative;margin-top:43px;overflow:hidden}#asa-portal .asa-intro-loader:after{content:"";position:absolute;inset:0;background:var(--asa-gold);transform-origin:left;animation:asa-progress 3.6s linear both}#asa-portal .asa-intro-status{position:relative;display:flex;justify-content:space-between;width:min(370px,62%);margin-top:12px;font:9px/1.5 Consolas,monospace;color:#797979;letter-spacing:1px}#asa-portal .asa-skip{position:absolute;bottom:66px;background:transparent;border:1px solid #535353;border-radius:22px;padding:11px 21px;color:#9d9d9d;font-size:12px}#asa-portal .asa-intro-footer{position:absolute;bottom:30px;left:36px;font:9px Consolas,monospace;color:#5b5b5b;letter-spacing:2px}
@keyframes asa-logo-write{from{clip-path:inset(0 100% 0 0);opacity:.08}to{clip-path:inset(0);opacity:1}}@keyframes asa-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:1200px){#asa-portal .asa-fan{max-width:1100px}#asa-portal .asa-hero{min-height:930px}#asa-portal .asa-fan{height:355px}#asa-portal .asa-copy{padding-top:30px}#asa-portal .asa-hero-bottom{margin-top:68px}}
@media(max-width:800px){#asa-portal{padding:10px}#asa-portal .asa-nav{width:88%;padding:0 15px}#asa-portal .asa-links{gap:14px}#asa-portal .asa-link{font-size:12px}#asa-portal .asa-brand strong{font-size:14px}#asa-portal .asa-monogram{font-size:21px}#asa-portal .asa-nav-download{font-size:11px;padding:10px 13px}#asa-portal .asa-tool{height:185px;padding:11px;gap:8px}#asa-portal .asa-art{height:71px}#asa-portal .asa-tool-name{font-size:15px}#asa-portal .asa-tool-name small{display:none}#asa-portal .asa-tool-description{font-size:9px}#asa-portal .asa-tool-top{font-size:8px}#asa-portal .asa-hero{min-height:850px}#asa-portal .asa-fan{height:325px}#asa-portal .asa-copy h1{font-size:46px}#asa-portal .asa-hero-bottom{margin-top:49px}#asa-portal .asa-subpage{padding:50px 32px}}
@media(max-width:600px){#asa-portal{padding:8px}#asa-portal .asa-hero{border-radius:23px;min-height:850px}#asa-portal .asa-nav{width:92%;height:66px;padding:0 12px;border-radius:0 0 19px 19px}#asa-portal .asa-brand strong{font-size:13px}#asa-portal .asa-brand small{display:none}#asa-portal .asa-monogram{font-size:21px}#asa-portal .asa-links{gap:13px}#asa-portal .asa-link[data-page="about"]{display:none}#asa-portal .asa-nav-download{display:none}#asa-portal .asa-eyebrow{margin-top:29px;font-size:9px;letter-spacing:2px}#asa-portal .asa-fan{margin-top:24px;height:230px;display:flex;align-items:center;justify-content:center;gap:0}#asa-portal .asa-tool{left:50%;top:25px;width:152px;height:195px;animation:none!important;transform:translateX(-50%);opacity:0;visibility:hidden;pointer-events:none}#asa-portal .asa-tool.asa-mobile-prev{visibility:visible;opacity:.45;transform:translateX(calc(-50% - 103px)) scale(.73) rotate(-16deg);z-index:1}#asa-portal .asa-tool.asa-mobile-next{visibility:visible;opacity:.45;transform:translateX(calc(-50% + 103px)) scale(.73) rotate(16deg);z-index:1}#asa-portal .asa-tool.asa-mobile-current{visibility:visible;opacity:1;transform:translateX(-50%);z-index:5;pointer-events:auto;border-color:#777777}#asa-portal .asa-tool.asa-mobile-prev *,#asa-portal .asa-tool.asa-mobile-next *{visibility:hidden}#asa-portal .asa-copy{padding:24px 16px 0}#asa-portal .asa-copy h1{font-size:36px;letter-spacing:-1.7px;line-height:1.3}#asa-portal .asa-copy p{font-size:12px;margin:19px auto 23px;max-width:235px}#asa-portal .asa-ctas{gap:10px}#asa-portal .asa-primary,#asa-portal .asa-secondary{padding:13px 17px;font-size:12px}#asa-portal .asa-hoverline{font-size:11px;padding:0 15px;min-height:43px}#asa-portal .asa-hero-bottom{margin:40px 19px 22px;flex-wrap:wrap;font-size:9px;justify-content:center;gap:13px}#asa-portal .asa-footer{font-size:9px;padding:17px 5px 5px;flex-wrap:wrap;gap:12px}#asa-portal .asa-subpage{padding:42px 20px;min-height:780px}#asa-portal .asa-subpage h1{font-size:30px}#asa-portal .asa-library{grid-template-columns:1fr}#asa-portal .asa-library-tool{min-height:130px;padding:18px}#asa-portal .asa-dialog{padding:25px 19px;border-radius:19px}#asa-portal .asa-modal-layer{padding:80px 13px 20px}#asa-portal .asa-dialog h2{font-size:26px}#asa-portal .asa-platforms{grid-template-columns:1fr}#asa-portal .asa-platform{min-height:104px;display:grid;grid-template-columns:30px 1fr;gap:8px 10px;padding:15px}#asa-portal .asa-platform svg{grid-row:1/3}#asa-portal .asa-platform strong{font-size:16px}#asa-portal .asa-platform small{font-size:10px}#asa-portal .asa-platform-action{grid-column:2}#asa-portal .asa-intro-emblem{gap:12px;letter-spacing:-2px}#asa-portal .asa-intro-emblem span:nth-child(1){letter-spacing:-4px}#asa-portal .asa-intro-top{left:23px;right:23px;font-size:8px;letter-spacing:1px}#asa-portal .asa-intro-caption{font-size:9px;letter-spacing:3px}#asa-portal .asa-intro-footer{left:23px;font-size:8px}}
#asa-portal .asa-mobile-controls{display:none}@media(max-width:600px){#asa-portal .asa-mobile-controls{display:flex;justify-content:center;align-items:center;gap:30px;margin:0 0 18px;position:relative;z-index:8}#asa-portal .asa-mobile-controls button{width:44px;height:44px;border-radius:50%;border:1px solid #434343;background:#1e1e1e;display:flex;align-items:center;justify-content:center}#asa-portal .asa-mobile-controls span{font:10px Consolas,monospace;color:#9b9b9b}}
#asa-portal .asa-tool{height:235px;gap:9px}#asa-portal .asa-tool-foot{flex-shrink:0;min-height:15px;font-size:10px}#asa-portal .asa-tool-description{font-size:11px;line-height:1.45}#asa-portal .asa-tool-top{font-size:9px}#asa-portal .asa-hoverline{margin-top:17px}
@media(max-width:800px) and (min-width:601px){#asa-portal .asa-tool{height:218px;gap:8px;padding:10px}#asa-portal .asa-tool-top{font-size:8px}#asa-portal .asa-tool-foot{font-size:9px}#asa-portal .asa-tool-description{font-size:10px}#asa-portal .asa-fan{height:340px}}
@media(max-width:600px){#asa-portal .asa-tool{height:211px;gap:8px}#asa-portal .asa-hoverline{margin-top:0}}
@media(prefers-reduced-motion:reduce){#asa-portal .asa-tool{animation:none!important}#asa-portal .asa-intro-emblem span,#asa-portal .asa-intro-caption,#asa-portal .asa-intro-loader:after{animation-duration:.01s;animation-delay:0s}#asa-portal .asa-intro{transition:none}}
#asa-portal .asa-orbit-line{display:none}
#asa-portal .asa-fan{height:440px;max-width:1100px;margin-top:22px;perspective:none;display:block;--orbit-width:680px;--orbit-height:224px;--orbit-center-y:204px}
#asa-portal .asa-fan:before{content:"";position:absolute;left:50%;top:var(--orbit-center-y);width:var(--orbit-width);height:var(--orbit-height);transform:translate(-50%,-50%);border:1px solid #90909030;border-radius:50%;pointer-events:none}
#asa-portal .asa-tool,#asa-portal .asa-tool.asa-mobile-prev,#asa-portal .asa-tool.asa-mobile-next,#asa-portal .asa-tool.asa-mobile-current{left:50%;top:0;width:170px;height:226px;visibility:visible;pointer-events:auto;animation:none!important;transform:translate(-50%,-50%);opacity:1;transform-origin:50% 50%;transition:border-color .16s,box-shadow .16s;will-change:transform;rotate:none}
#asa-portal .asa-tool .asa-tool-top{font-size:9px}#asa-portal .asa-tool-description{font-size:10px}#asa-portal .asa-tool.asa-mobile-prev *,#asa-portal .asa-tool.asa-mobile-next *{visibility:visible}
#asa-portal .asa-tool:hover,#asa-portal .asa-tool:focus-visible,#asa-portal .asa-tool.asa-selected{z-index:30!important}
#asa-portal .asa-hoverline{margin-top:0;min-height:42px}#asa-portal .asa-copy{padding-top:13px}#asa-portal .asa-mobile-controls{display:none!important}
#asa-portal [data-action="motion"]{display:none!important}#asa-portal .asa-art-clean:after{content:"水印"}#asa-portal .asa-intro-emblem{font-size:clamp(34px,6vw,80px);gap:22px;letter-spacing:-2px}#asa-portal .asa-intro-emblem span:nth-child(1){letter-spacing:-3px}#asa-portal .asa-brand small{letter-spacing:1.5px}
@media(max-width:600px){#asa-portal .asa-intro-emblem{flex-direction:column;align-items:center;gap:7px;font-size:30px}#asa-portal .asa-intro-emblem span:nth-child(1){font-size:60px}#asa-portal .asa-brand strong{font-size:12px}}
@media(max-width:800px){#asa-portal .asa-tool,#asa-portal .asa-tool.asa-mobile-current{width:145px;height:214px}#asa-portal .asa-fan{height:420px}}
@media(max-width:600px){#asa-portal .asa-fan{height:340px;margin-top:20px}#asa-portal .asa-tool,#asa-portal .asa-tool.asa-mobile-prev,#asa-portal .asa-tool.asa-mobile-next,#asa-portal .asa-tool.asa-mobile-current{width:112px;height:151px;padding:9px;gap:7px}#asa-portal .asa-art{height:64px}#asa-portal .asa-tool-top{display:none}#asa-portal .asa-tool-name{font-size:15px}#asa-portal .asa-tool-description{display:none}#asa-portal .asa-tool-foot{font-size:8px;line-height:1.4;min-height:13px}#asa-portal .asa-tool-name small{display:none}#asa-portal .asa-art-terminal{font-size:8px;padding:6px}#asa-portal .asa-art-terminal b{font-size:22px}#asa-portal .asa-art-ppt b{font-size:18px}#asa-portal .asa-art-audio{gap:3px;padding:8px}#asa-portal .asa-art-audio span{max-height:45px}#asa-portal .asa-copy h1{font-size:clamp(29px,8vw,36px)}}
#asa-portal .asa-art-character img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
#asa-portal .asa-tool{gap:7px}
@media(min-width:801px){#asa-portal .asa-tool[data-tool="dsh"]{gap:4px}}
#asa-portal .asa-tool[data-tool="dsh"] .asa-tool-name{font-size:15px;line-height:1.2;flex-shrink:0}
#asa-portal .asa-tool-name>span{display:inline-block;white-space:nowrap}
@media(max-width:800px){#asa-portal .asa-tool[data-tool="dsh"] .asa-tool-description{display:none}}
@media(max-width:600px){#asa-portal .asa-tool[data-tool="dsh"] .asa-tool-name{font-size:13px}}
#asa-portal .asa-hero{min-height:0}
#asa-portal .asa-home{padding:20px 0 26px}
#asa-portal .asa-fan{height:620px;max-width:1280px;margin-top:0}
#asa-portal .asa-tool{width:176px;height:244px;padding:12px;gap:6px}
#asa-portal .asa-art{height:94px}
#asa-portal .asa-art-character img{width:86%;height:86%}
#asa-portal .asa-tool-name{font-size:16px;flex-shrink:0;overflow-wrap:anywhere}
#asa-portal .asa-tool[data-tool="dsh"] .asa-tool-name{font-size:15px}
#asa-portal .asa-tool-description{font-size:11px;line-height:1.4}
#asa-portal .asa-tool-foot{font-size:10px}
#asa-portal .asa-modal-layer{overflow-y:auto}
@media(max-width:1100px) and (min-width:801px){#asa-portal .asa-tool{width:152px;height:224px;padding:10px;gap:6px}#asa-portal .asa-art{height:82px}#asa-portal .asa-tool-name{font-size:15px}#asa-portal .asa-tool[data-tool="dsh"] .asa-tool-name{font-size:14px}#asa-portal .asa-tool-foot{font-size:9px}}
@media(max-width:800px){#asa-portal .asa-fan{height:520px}#asa-portal .asa-tool{width:156px;height:224px;padding:11px;gap:6px}#asa-portal .asa-art{height:82px}#asa-portal .asa-tool-name{font-size:15px}#asa-portal .asa-tool[data-tool="dsh"] .asa-tool-name{font-size:14px}#asa-portal .asa-tool-description{font-size:11px}#asa-portal .asa-tool-foot{font-size:10px}}
@media(max-width:600px){#asa-portal .asa-home{padding:14px 0 20px}#asa-portal .asa-fan{height:420px}#asa-portal .asa-tool{width:116px;height:180px;padding:9px;gap:6px}#asa-portal .asa-art{height:74px}#asa-portal .asa-tool-name{font-size:14px}#asa-portal .asa-tool[data-tool="dsh"] .asa-tool-name{font-size:13px}#asa-portal .asa-tool-foot{font-size:9px}}
#asa-portal .asa-video-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#070a0d}
#asa-portal .asa-video-backdrop video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.68}
#asa-portal .asa-video-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#03060933,#05070944 55%,#050607aa)}
#asa-portal .asa-site{position:relative;z-index:1}
#asa-portal .asa-hero{background:#05070920}
#asa-portal .asa-atmosphere{display:none}
#asa-portal .asa-nav{background:#0a0a0af0}
#asa-portal .asa-fan:before{display:none}
/* Standalone document and release controls; accepted visual CSS precedes this file. */
html { color-scheme: dark; background: #0a0a0a; }
body { margin: 0; background: #0a0a0a; }
/* Fit the composition to the viewport instead of leaving a flat body below it. */
#asa-portal { --portal-inset: 16px; min-height: 100vh; min-height: 100dvh; }
#asa-portal .asa-site {
  min-height: calc(100vh - 2 * var(--portal-inset));
  min-height: calc(100dvh - 2 * var(--portal-inset));
  display: flex;
  flex-direction: column;
}
#asa-portal .asa-hero { flex: 1; display: flex; flex-direction: column; min-height: 0; }
#asa-portal .asa-nav, #asa-portal .asa-footer { flex-shrink: 0; }
#asa-portal .asa-home { flex: 1; display: grid; align-items: center; }
#asa-portal .asa-platform { font: inherit; text-decoration: none; }
#asa-portal a.asa-platform { color: #e8e8e8; }
#asa-portal a.asa-platform:hover { border-color: var(--asa-gold); }
#asa-portal a:focus-visible, #asa-portal summary:focus-visible { outline: 2px solid var(--asa-gold); outline-offset: 4px; }
#asa-portal .asa-download-status { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
#asa-portal .asa-download-retry { background: #272727; border: 1px solid #777; border-radius: 7px; padding: 7px 11px; }
#asa-portal .asa-release-history { margin-top: 20px; border-top: 1px solid #3d3d3d; padding-top: 15px; font-size: 12px; }
#asa-portal .asa-release-history summary { cursor: pointer; color: #c5c5c5; }
#asa-portal .asa-release-item { display: grid; gap: 8px; padding: 17px 0; border-bottom: 1px solid #303030; }
#asa-portal .asa-release-item small { color: #aaa; }
#asa-portal .asa-release-item p { white-space: pre-wrap; line-height: 1.6; }
#asa-portal .asa-release-item a, #asa-portal .asa-credits a { color: #d4d4d4; }
#asa-portal .asa-checksum code { display: block; overflow-wrap: anywhere; margin-top: 8px; font-size: 10px; }
#asa-portal .asa-credits { color: #999; font-size: 11px; margin-top: 25px; line-height: 1.7; }
.portal-noscript { padding: 20px; color: #eee; font: 14px/1.7 sans-serif; }

#asa-portal .asa-offers { margin-top: 24px; border-top: 1px solid #3d3d3d; padding-top: 18px; }
#asa-portal .asa-offers h3 { margin: 0 0 14px; font-size: 16px; }
#asa-portal .asa-offers-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
#asa-portal .asa-offer-card { padding: 18px; border: 1px solid #444; border-radius: 12px; background: #202020; min-width: 0; overflow-wrap: anywhere; }
#asa-portal .asa-offer-card h4 { margin: 0 0 12px; font-size: 14px; }
#asa-portal .asa-offer-card .asa-offer-price { display: block; font-size: 24px; color: #fff; }
#asa-portal .asa-offer-card small { display: block; color: #bbb; margin-top: 5px; }
#asa-portal .asa-offer-card ul { padding-left: 17px; margin: 15px 0 0; font-size: 12px; line-height: 1.8; color: #ddd; }
#asa-portal .asa-offers-note { font-size: 12px; line-height: 1.7; color: #aaa; margin: 14px 0 0; }

/* Compact upright horizontal marquee, replacing the snapshot's arc layout. */
#asa-portal .asa-home { padding: 8px 0 10px; }
#asa-portal .asa-fan {
  --marquee-gap: 36px;
  height: 360px;
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: var(--marquee-gap);
  overflow: hidden;
}
#asa-portal .asa-marquee-track {
  position: absolute;
  left: 0;
  top: 50%;
  width: max-content;
  display: flex;
  align-items: center;
  gap: var(--marquee-gap);
  will-change: transform;
}
#asa-portal .asa-fan .asa-tool {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  flex: 0 0 auto;
  transform: none !important;
  rotate: none !important;
  scale: 1;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto;
  transform-origin: center;
  transition: scale .16s ease, translate .16s ease, border-color .16s, box-shadow .16s;
  will-change: scale, translate;
}
#asa-portal .asa-fan .asa-tool.asa-selected { scale: 1.1; z-index: 40 !important; }
#asa-portal .asa-footer { padding-top: 14px; padding-bottom: 4px; }
@media(max-width:800px) {
  #asa-portal { --portal-inset: 10px; }
  #asa-portal .asa-fan { height: 330px; --marquee-gap: 30px; }
}
@media(max-width:600px) {
  #asa-portal { --portal-inset: 8px; }
  #asa-portal .asa-home { padding: 6px 0 8px; }
  #asa-portal .asa-fan { height: 270px; --marquee-gap: 26px; }
  #asa-portal .asa-footer { padding-top: 12px; padding-bottom: 3px; }
}

/* The portrait background fills the viewport proportionally, cropping centered edges. */
#asa-portal .asa-video-backdrop {
  position:fixed; inset:0; width:100%; height:100%;
  background:#070a0d; pointer-events:none;
}
#asa-portal .asa-video-backdrop video {
  object-fit:cover; object-position:50% 50%; opacity:.8;
  pointer-events:none;
}

